【发布时间】:2018-11-12 14:53:21
【问题描述】:
我使用带有 Sails.js 后端的 React。我认为这个问题真的只与 React/javascript 有关。
即使对象中确实存在正在更改的属性,我也会收到以下浏览器控制台错误:
Cannot add property *, object is not extensible
下面是类定义和使用中出现的错误:
onExchangeSelect={selectedExchange => this.setState({selectedExchange})
在下面的渲染函数中。也就是说,浏览器抱怨该对象不可扩展并将该行作为原因(当我删除 onExchangeSelect 函数时,错误消失了)。
class ExchangeContainer extends Component {
constructor(props) {
super(props);
this.state = {
exchanges:[
{
name:"binance",
url:"https://bittrex.com"
},
{
name:"bittrex",
url:"https://bittrex.com"
}
],
selectedExchange:null
};
}
render() {
return (
<div className="ExchangeContainer list-group">
<ExchangeList
exchanges={this.state.exchanges} selected={this.state.selectedExchange}
onExchangeSelect={selectedExchange => this.setState({selectedExchange}) }
/>
<ExchangeDetail exchange={this.state.selectedExchange} />
</div>
);
}
}
我的问题是,什么可能导致 React 组件呈现错误和后续失败?为什么我不能更改该属性?
【问题讨论】:
标签: javascript reactjs ecmascript-6