在 React 中,你可以建立不同的 component 来封装你需要的行为。接着,你可以根据你的应用程序的 state,来 render 其中的一部份。
在 JSX 里面写条件式的两种方法:
利用不同条件去绘制 render 不同的 element 或元件 component,要注意的事情如列:
以下举例
function Mailbox(props) {
const unreadMessages = props.unreadMessages;
return (
<div>
<h1>
{ unreadMessages[0] }{ unreadMessages.length > 1 &&
(<span>...more({unreadMessages.length - 1})</span>)
}
</h1>
</div>
);
}
const list = ['你好', 'Hi', '最近如何'];
ReactDOM.render(
<Mailbox unreadMessages={list} />,
document.getElementById('root')
);
0 && 'aaa'
//0 => template 显示 0
"0" && 'aaa'
//'aaa' => template 显示 'aaa'
!!0 && 'aaa'
false => template 即不会显示
!!"0" && 'aaa'
//'aaa' => template 显示 'aaa'
function WarningBanner(props) {
if (!props.warn) {
return null;
}
return <h1>Warning!!!</h1>
}
class Page extends React.Component {
constructor(props) {
super(props);
this.state = {showWarning: true};
this.handleToggleClick = this.handleToggleClick.bind(this);
}
handleToggleClick() {
this.setState(state => ({
showWarning: !state.showWarning
}));
}
render() {
return (
<div>
<button onClick={this.handleToggleClick}>
{ this.state.showWarning ? 'Hide' : 'Show'}
</button>
<WarningBanner warn={this.state.showWarning} />
</div>
);
}
}
ReactDOM.render(
<Page />,
document.getElementById('root')
);
以上今天
参考资料:
https://zh-hant.reactjs.org/docs/conditional-rendering.html
>>: [Tableau Public] day 23:台湾姓氏分布分析-1
前言 在介绍JDK有哪些工具时,第二大列应该是『故障排查、分析、监控和管理工具』,但我想先从监控工具...
组件中经过引用、连接,会产出树状关系图,即为父元件与子元件的关系。 -> 父子元件中不存在继承...
补齐遗失副本,时间线回归。 本文同步发表於个人网站 Hello, Lua & C 现在,我...
前言 使用递回方法实作一个阶乘函数,来计算阶乘。 程序实作 # 使用递回方法实作一个阶乘函数 def...
Apex 为一款笔者近期最喜欢的竞技游戏,想藉着分析的名义,趁机推广一下这款大逃杀游戏。由於此游戏一...