javascript – map函数中的if else语句reactjs
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – map函数中的if else语句reactjs,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2102字,纯文字阅读大概需要4分钟。
内容图文
您不必阅读整个代码,只需阅读editQuantity函数和showOrderItem函数中的注释,特别是在showOrderItem函数中,我的问题是我认为只是愚蠢,因为我的两个函数都在工作,因为它们应该工作,
* editQuantity函数应该改变状态,它改变它,我通过添加控制台行检查.
* showOrderItem函数假设显示项目,他也在做这个工作.
我的问题是,我尝试在showOrderItem函数中添加不起作用的条件渲染,即使我能够改变状态.
请阅读showOrderItem函数中的注释,以查看问题所在:
import React from 'react';
export default class ShowOrder extends React.Component{
constructor(props){
super(props);
this.state={
quantityEditing:this.props.orderItems,
}
}
editQuantity(item){
const order=this.state.quantityEditing;
for(var i =0; i<order.length; i++){
if(order[i].item==item){
console.log(order[i].orderQuantityEditing)
order[i].orderQuantityEditing=true;
this.setState({order:this.state.quantityEditing})
console.log(order[i].orderQuantityEditing)
}
}
}
showOrderItem(){
const style = {cursor:'pointer'}
const orderItems=this.state.quantityEditing;
console.log(orderItems)
const orderItem=orderItems.map((item,index)=>
<p>
{orderItems.orderQuantityEditing ? 'some':
<span style={style} onClick={this.editQuantity.bind(this,item.item)}>
//as you can see in here i added conditional rendering, that if orderItems.orderQuantityEditing is true display me some, but that's not working --orderItems.orderQuantityEditing ? 'some'(this part) does not matter how many times i click on property it never display me my string 'some'
{item.quantity}</span>}
<span style={style}> {item.item}</span>
<span style={style}> Q</span>
<span style={style}> N</span>
<span style={style}> X</span>
</p>
);
return orderItem;
}
render(){
return(
<div>
{this.showOrderItem()}
</div>
);
}
}
解决方法:
代替
{orderItems.orderQuantityEditing ?
'some'
:
<span style={style} onClick{this.editQuantity.bind(this,item.item)}>
我想你需要写这个:
{item.orderQuantityEditing ?
'some'
:
<span style={style} onClick={this.editQuantity.bind(this,item.item)}>
因为您正在使用map,而item将是数组的每个对象,所以您需要使用item来访问该属性.在for循环期间,当你改变状态时你写道:
order[i].orderQuantityEditing=true;
这是正确的,顺序将是一个数组,你需要提供索引来访问它的特定对象.
内容总结
以上是互联网集市为您收集整理的javascript – map函数中的if else语句reactjs全部内容,希望文章能够帮你解决javascript – map函数中的if else语句reactjs所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。