不确定原因,但我的渲染似乎还没有等待componentDidMount
在渲染之前完成其请求。我有另一个组件。我不确定我搞砸了。
断裂:
componentDidMount() {
if(this.isMounted()) {
$.get('/filter/parameters')
.done(parameters => {
this.setState({parameters});
})
.fail(err => {console.error(err)});
}
}
<SideNav parameters={this.state.parameters}
selectedFilters={this.state.selectedFilters}
isOpen={this._isOpen}
onProductChange={this._handleProductsChange} />
工作:
componentDidMount() {
if(this.isMounted()) {
$.get('/getPartLocal')
.done(data => {
this.setState({data: data})})
.fail(err => console.error(err));
}
}
<TestTable data={this.state.data}
onHeaderClick={this.sortColumn}
onRowSelect={this.updateSelectedRows} />
更新
现在它已经过了我有一个新问题:
我无法设置属性:
<DropDownMenu value={parameters.products[0].name} onChange={onProductChange}>
但我可以映射:
{parameters.products.map(obj => {
return <MenuItem value={obj.name} primaryText={obj.name}/>
})}
为什么?