我有简单的代码,我有一个名为 Feed 的组件和一些道具。在名为 Articles 的主要内容组件上,我通过一个 js 对象映射并返回 Feed 组件现在,每个人都在使用匿名函数来这样做。<div>{data.map(()=> <Feed/>))} (sorry if the syntax a bit wrong but you get the idea</div>现在,我在 map 函数之外获取了返回 Feed 的函数function createFeed (feedData) { return <Feed props/>}并把它<div>{data.map(createFeed)} </div>它很奇怪,但是,因此 createFeed 也是一个组件(所以我需要将名称更改为 CreateFeed)或者这只是一个将对象返回到由 map 函数创建的新数组的函数,因此它只是一个函数而不是一个组件?
1 回答

慕后森
TA贡献1802条经验 获得超5个赞
这里没有魔法。
<div>{data.map(createFeed)}</div>
相当于:
<div>{ data.map(item => createFeed(item) }</div>
由于该createFeed
函数在不添加任何逻辑的情况下返回组件,因此您可以省略它并返回组件。全部都是一样。
编辑:
在您的情况下,您只是将该功能用作工厂,而不是功能组件,因此您可以争辩说它不需要大写。
也就是说,如果您确定不会将该函数用作 Jsx 中的组件,那么这不是问题。如果您想将它用作 Jsx,这会导致问题,记录在此处: https: //reactjs.org/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized
如果拥有工厂功能没有用,我会省略它,但最终选择取决于您。
添加回答
举报
0/150
提交
取消