react-statements是一个很小的React语句控制组件,更漂亮的条件渲染方法↔️
安装
npm i --save react-statementsyarn add react-statements
栗子
import If from 'react-statements' Component { ; thisstate = logic: true; } { return <div> <If => <p>↔️我是一些组件内容</p> </If> </div> ; }
文档说明
If 组件
If
组件可以使用一个when
属性来控制组件是否渲染
<If => <p>when在转为bool为true的条件下显示这个组件</p></If> <If = = />
If
组件内部可以使用Default
组件, 在when
条件为false的时候渲染.
<If when={false}>
<p>↔️我是一些组件内容</p>
<Default>when条件为false渲染的组件</Default>
</If>
Switch 组件
Switch
组件可以根据指定的值渲染不同的组件
Switch
组件内部使用Case
组件对不同的值进行判断
Switch
组件内部同时可以使用Default
来设置一个默认显示组件
<Switch => <Case => <p>condition 1</p> </Case> <Case => <p>condition 2</p> </Case> <Case ='c' =/> <Default =/></Switch>
Range
Range
组件可以对范围进行判断然后渲染组件
Range
可以使用type
属性对范围进行in``notint
的判断
Range
组件的value
可以接收一个Array
或Object
来作范围的判断
Range
组件的when
可以指定范围的值,如果value
是数组直接指定值,如果value
是一个对象可以指定对象的键或对象的值
Range
组件的whenKey
是当value
为对象是,用来指定when
是判断的value
的键而非值
<Range ="in" = => <p>在数组范围之中</p></Range><Range ="in" = => <p>这个组件不会显示,when值不在value之中</p></Range><Range ="in" = ="test2"> <p>value对象的值包含when的值</p></Range> /* whenKey用来指定判断的是value的键 */ <Range ="in" = ='b' > <div> <p>可以判断对象的key值是在when中</p> </div></Range><Range ="notin" = => <p>不在数组范围之中</p></Range><Range ="notin" = ="test3"> <p>value对象的值不包含when的值</p></Range> /* whenKey用来指定判断的是value的键 */ <Range ="notin" = ='c' > <div> <p>可以判断对象的key值不是在when中</p> </div></Range>
For
For
组件可以对Array
、Object
遍历生成一组组件
For
组件内部也可以使用Default
来显示默认组件
<For => item index <p =>index:item</p> <Default>默认组件</Default></For>
未来
正在计划扩展这个库,如果有兴趣和任何想法欢迎提issues或email: createthink.net@gmail.com
问题
如果在使用过程中有任何问题或建议可以在issues提出
License
react-statements使用MIT licensed.