React条件渲染是怎样的,如何理解
Admin 2022-12-07 群英技术资讯 1517 次浏览
今天我们来学习关于“React条件渲染是怎样的,如何理解”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
我们先创建一个用于演示条件渲染的组件
import './App.css';
import React from "react";
class App extends React.Component{
constructor(props){
super(props);
this.state = {
signIn: false
}
}
increase(){
this.setState({
signIn: !this.state.signIn
})
}
render(){
let ligin = this.state.signIn?<span>已登录</span>:<span>未登录</span>
return (
<div className="App">
{ ligin }
<button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登录":"登录" }</button>
</div>
)
}
}
export default App;
这里我们模拟了一个登录和未登录的情况
首先 我们在state中定义了一个signIn 这是个布尔类型的变量 比喻成 他为true 表示用户已登录 为false 表示用户还没有登录
然后 我们在render函数中定义了一个ligin变量 他用了三元运算符 这里是在判断 this.state.signIn是不是true
如果为true 则为已登录 否则 是未登录
然后 这个ligin就接受到了结果 然后我们将他插入在我们的页面元素中

运行的效果就是这样
然后我们点一下按钮

因为按钮的点击事件会改变signIn 他的条件改变了 渲染的元素就 不一样了
然后我们的条件判断也可以直接写在页面里
我们在state中再加一个list值
constructor(props){
super(props);
this.state = {
signIn: false,
list: []
}
}
我们加了一个list变量 他的值是一个空数组
然后我们在render中循环遍历这个list
render(){
let ligin = this.state.signIn?<span>已登录</span>:<span>未登录</span>
return (
<div className="App">
{ ligin }
<div>
{
this.state.list.map((item,index) =>{
return <p key = {index}>{ item }</p>
})
}
</div>
<button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登录":"登录" }</button>
</div>
)
}
但大家或许会发现 我们的数组是没有值的啊
用户一看 你这什么都没有 是不是出问题啦?
这是我们就可以判断 如果数组是空的 给用户一个提示
render(){
let ligin = this.state.signIn?<span>已登录</span>:<span>未登录</span>
return (
<div className="App">
{ ligin }
{
this.state.list.length > 0?
<div>
{
this.state.list.map((item,index) =>{
return <p key = {index}>{ item }</p>
})
}
</div>
:
<div>暂无数据....</div>
}
<button onClick = { this.increase.bind(this) }>{ this.state.signIn?"取消登录":"登录" }</button>
</div>
)
}
我们这里判断this.state.list的长度大于0 我们就循环渲染 如果是0 那就展示提示 暂无数据…
我们代码运行结果如下

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了jquery实现表格无缝滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章给大家带来了关于javascript的相关知识,主要介绍了JavaScript事件循环同步任务与异步任务,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下。
目录在data里引入相对路径问题解决如何在data中正常引入图片路径此时有两种解决方法在data里引入相对路径问题在项目的HTML中引入图片的相对路径,这样写是能找到图片显示出来的:img src=../../../static/img/step-ongoing.png但图片太多感觉太乱了了,想在data中通过变量统一
这篇文章主要给大家介绍了JavaScript删除对象的不必要的属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Echarts 如何实现一张图现切换不同的X轴,通过动图给大家展示效果,实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008