为什么不应该将儿童作为props传递?

IT技术 reactjs eslint
2021-05-04 16:57:53

根据 ESLINT 规则no-children-prop

使用 JSX 时,子项应该嵌套在开始和结束标记之间。当不使用 JSX 时,子元素应该作为附加参数传递给 React.createElement

这只是一种风格建议,还是会产生真正的损害?

1个回答

这似乎更像是一种风格建议,也可以防止您射中自己的脚。

如果你有一个组件:

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

并在组件中做

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

你最终会得到bar作为this.props.children代替的foo,但至于在react或造成“损害”这个破东西我没有发现这样的证据,这里有一个漫长的讨论https://github.com/airbnb/javascript/issues/ 1089#issuecomment-250640742 说明相同。