【发布时间】:2020-02-13 07:56:48
【问题描述】:
我的问题是我不明白如何解释分配运算符并与函数交互。让我解释一下
我正在更改我的组件的状态,当然,我做错了什么,直到我意识到这一点才发现。
我的组件:
class UpdateLifeCycle extends Component {
state = { src: urls[this.props.election] };
componentWillReceiveProps(nextProps) {
this.setState = { src: urls[nextProps.election] };
}
render() {
return (
<div>
<p>Selected {this.props.election}</p>
<img //
alt={this.props.election}
src={this.state.src}
witdh="250"
/>
<p>{urls[this.props.election]}</p>
<p>{this.state.src}</p>
</div>
);
}
}
我在做什么,错的是这件作品
this.setState = { src: urls[nextProps.election] };
我应该做的是将它作为参数传递而不是分配它。
this.setState({ src: urls[nextProps.election] });
为什么JS解释器允许你给一个函数赋值和对象,那个对象是在哪里被赋值的?
【问题讨论】:
-
因为函数和其他函数一样只是一个道具,所以对象被分配给组件实例的 setState 道具。
标签: javascript reactjs assign