如何展示React元件
P粉982054449
P粉982054449 2023-09-16 22:40:46
0
2
584

以下內容是否可以像下面這樣顯示:jsx

//编写一个返回`jsx`的js函数
function child(label, value){
  return (
    <h3>
     {label}: {value}
    </h3>
  )
}

export default function Parent(){
  const [state, setState] = useState({label:"", value:""})
  const {label, value} = state;
  
  return (
    // 然后调用函数显示`jsx`
    <>{test(label, value)}</>
  )
}

或是否更好的做法是編寫React函數元件:

function Child({state}){
  return (
    <h3>
     {state.label}: {state.value}
    </h3>
  )
}

export default function Parent(){
  const [state, setState] = useState({label:"", value:""})
  
  return (
    <Child state={state} />
  )
}
P粉982054449
P粉982054449

全部回覆(2)
P粉545910687

第二種方法看起來更簡單和可讀。記住,你讓程式碼更可讀,專案變得越大,它就越容易管理。此外,這種方法是建立React元件最常見的做法。

P粉413704245

最佳實踐是將其渲染為一個React元件。

原因是,雖然僅使用函數對於非常簡單的元件仍然可行,但您可能希望在將來對其進行更改並添加更多「類似React」的功能,例如hooks。在那時,它可能會出現問題,而React通常不會告訴您這是導致應用程式出錯的原因。如果發生這種情況,要找到錯誤可能會很頭疼,特別是如果函數位於另一個檔案中。

這篇文章中可以找到一個範例,說明在使用錯誤邊界時它可能會出錯。

根據這個Stack Overflow回答,以函數呼叫的方式可能在效能方面更快,但在我看來,在這種情況下根本不使用函數是更安全的選擇。

所以,如果您認為自己足夠小心,沒有人會阻止您。但請確保不要自己給自己找麻煩。祝好運!

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板