Skip to content

Files

Latest commit

3a3a3c4 · May 27, 2018

History

History
24 lines (13 loc) · 853 Bytes

no-jsx-in-props.md

File metadata and controls

24 lines (13 loc) · 853 Bytes

不允许在 JSX 参数(props)中传入 JSX 元素(taro/no-jsx-in-props)

由于微信小程序内置的组件化的系统不能通过属性(props) 传函数,而 props 传递函数可以说 React 体系的根基之一,我们只能自己实现了一套组件化系统。而自制的组件化系统则不能使用内置组件化的 slot 功能。两权相害取其轻,我们暂时只能不支持该功能。

规则详情

以下代码会被 ESLint 提示警告,同时在 Taro(小程序端)也不会有效:

<Custom child={<View />} />

<Custom child={() => <View />} />

<Custom child={function () { <View /> }} />

<Custom child={ary.map(a => <View />)} />

解决方案

通过 props 传值在 JSX 模板中预先判定显示内容。

该特性可能会在下一个 Major 版本的 Taro 中得到支持。