我想在条件为真时更新此变量,但它不会让我,谢谢
Subject Student Grade
Math James A
Math John B
Math Eric B
Physics Crystal A
Chemistry James C
Biology John A
Biology Eric B
答案 0 :(得分:1)
原因是,您忘记使用{}
,如果您正在使用任何条件或想要进行某些计算,请使用{}
并将所有语句放入其中。还有一件事,因为你只想迭代array
意味着不返回任何东西,所以我的情况使用forEach
而不是map
,使用此:
this.props.items.forEach(item => { //here
if(item.name == this.props.product.name) {
isActive = true;
}
});
检查此代码会产生相同的错误:
[1,2,3,4].forEach(el=>(
if(el % 2 == 0)
console.log(el);
))
检查工作示例:
[1,2,3,4].forEach(el=>{
if(el % 2 == 0)
console.log(el);
})
答案 1 :(得分:0)
你真的没有通过一个活跃的'财产和国家。您正在尝试设置计算属性,就像Ember一样(请参阅How to setup Ember like computed properties in Immutablejs and Redux and Flux and React)。这被认为是React并被驳回。
您应该创建一个函数isActive()
并在需要时调用它。我希望你在渲染一组isActive属性的单个项目组件时只需要它。
也就是说,有一些方法可以将其填入React代码库,但是您的代码将无法维护。