Nic*_*ner 11 javascript jsx reactjs
鉴于以下JSX:
const elems = <div><p>hello</p><p>world</p></div>
Run Code Online (Sandbox Code Playgroud)
如果我想在最后添加另一个元素,那么是否有更多惯用的方式:
const moreElems = <div>{elems}<p>additional</p></div>
Run Code Online (Sandbox Code Playgroud)
也许是这样的:
elems.push(<p>additional</p>)
Run Code Online (Sandbox Code Playgroud)
我会很好地省略包装器div; 就是这样,只有一个顶级的JSX元素.
小智 16
你可以通过声明数组中的第一个元素来做到这一点:
const elements = [
<p>hello</p>,
<p>world</p>,
]
Run Code Online (Sandbox Code Playgroud)
然后将任何你想要的东西推送到数组:
elements.push(<p>Additionnal</p>)
Run Code Online (Sandbox Code Playgroud)
然后,您可以{elements}在任何您想要的地方使用此元素.
请记住,这个数组表示法要求你key在每个子节点中使用一个参数,所以像这样的东西会更好:
const elements = [
<p key="1">hello</p>,
<p key="2">world</p>,
]
elements.push(<p key="3">additionnal</p>)
Run Code Online (Sandbox Code Playgroud)
您始终可以将它们推入数组中,然后将数组包装在 div 中,然后 React 会适当地处理它,例如:
const phrase = [];
phrase.push(<p key="hello">hello</p><p>world</p>)
phrase.push(<p key="additional">additional</p>)
return <div> {phrase} </div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8627 次 |
| 最近记录: |