React(8)条件渲染(类似 Vue 的 v-if)
2018-02-12 18:12
946 查看
14、条件渲染(类似 Vue 的 v-if)
讲道理说,React 本身的条件渲染,没有 Vue.js 用起来舒服。Vue.js 只需要在标签上添加v-if或者
v-show就行,但 React 就比较麻烦了。
class HelloWord extends React.Component { constructor(props) { super(props); this.state = { show: false } } // 渲染函数,this 指向实例本身 render() { let display = this.display.bind(this) return <div> {/* 这种方法省略了 this 绑定的过程 */} <button onClick={display}>{this.state.show ? '点击隐藏' : '点击显示'}</button> { this.state.show ? <p>显示出来啦</p> : null } </div> } display() { this.setState({ show: !this.state.show }) } }
如以上示例,通过三元操作符里面,返回
JSX语法的 DOM 标签,或者 null ,来决定是否显示;
也可以将 JSX 语法的 DOM 作为变量,像下面这样使用。
render() { let display = this.display.bind(this) let DOM = null if (this.state.show) { DOM = <p>显示出来啦</p> } return <div> {/* 这种方法省略了 this 绑定的过程 */} <button onClick={display}>{this.state.show ? '点击隐藏' : '点击显示'}</button> {DOM} </div> }
关于 v-show 就没什么好说的了吧?手动设置标签的 style 就行,很简单。
相关文章推荐
- 6-Vue指令之条件渲染 V-if/else
- React-(if)条件渲染-condition
- Vue.js 条件渲染 v-if、v-show、v-else
- vue简单的if条件渲染和for循环
- vue学习笔记1——v-if和templete 条件渲染 使用 key 控制元素的可重用
- Vue.js入门学习--v-if 组合 v-else-if条件指令渲染DOM(三)
- VUE指令条件渲染v-if
- React 条件渲染 if
- VUE指令条件渲染v-if
- Vue------第三天(条件渲染:v-if、v-show;列表渲染:v-for)
- React学习之条件视图渲染(六)
- Vue.js 学习6 条件渲染与列表渲染
- React中使用if else 条件判断
- Vue.js教程5-条件渲染
- vue学习第3天,基础知识,条件渲染,列表渲染,事件处理,内联样式
- VUE条件渲染(v-if v-show v-for)
- Vue.2.0.5-条件渲染
- React(9)列表渲染(对标Vue的 v-for)
- vue.js条件渲染
- React中使用if else 条件判断