为什么不应该让孩子成为道具?

时间:2017-03-23 16:57:37

标签: reactjs eslint

根据ESLINT规则no-children-prop

  

使用JSX时,孩子应该嵌套在开头之间   和结束标签。不使用JSX时,应将子项传递为   React.createElement的其他参数

这只是一种风格暗示,还是会造成真正的伤害?

1 个答案:

答案 0 :(得分:2)

这似乎更像是一种风格的建议,也可以防止你在脚下射击。

如果你有一个组件:

<Component children="foo">bar</Component>

并在组件中执行

return (
  <div>
    {this.props.children}
  </div>
)

你最终会bar取代this.props.children而不是foo,但就此而言,这会导致任何反应或造成“损害”的损失。 我没有发现任何证据,这里有一个冗长的讨论https://github.com/airbnb/javascript/issues/1089#issuecomment-250640742 说同样的话。