react-statements是一个很小的React语句控制组件,更漂亮的条件渲染方法。
npm i --save react-statements yarn add react-statements
import { If } from 'react-statements'class Example extends React.Component { constructor(props) { super(props); this.state = {logic: true}; } render() { return ( <div> <If when={this.state.logic}> <p>我是一些组件内容</p> </If> </div> ); } }
If组件可以使用一个when属性来控制组件是否渲染
If
when
<If when={condition}> <p>when在转为bool为true的条件下显示这个组件</p> </If> <If when={condition} children={<p>使用方法同上,单标签方法中使用</p>} />
Switch组件可以根据指定的值渲染不同的组件
Switch
Switch组件内部使用Case组件对不同的值进行判断
Case
Switch组件内部同时可以使用Default来设置一个默认显示组件
Default
<Switch value={value}> <Case when={condition}> <p>condition 1</p> </Case> <Case when={condition}> <p>condition 2</p> </Case> <Case when='c' children={<p>condition 3</p>}/> <Default children={<p>默认组件</p>}/> </Switch>
For组件可以对Array、Object遍历生成一组组件
For
Array
Object
For组件内部也可以使用Default来显示默认组件
<For of={['a', 'b', 'c']}> {(item, index) => (<p key={index}>{index}:{item}</p>)} <Default>默认组件</Default></For>