React - 初始化时未设置状态
2019-04-12
1394
我的产品组件中有此代码,用于将收到的道具分配给状态 当我创建新产品并通过更改产品列表的状态将其呈现在父级上并因此重新加载产品时,不会分配此状态,即使对于现有对象,颜色和尺寸也不会出现,除非您先加载页面然后刷新它。
实现如下:
1)它们在产品类的状态中定义
this.state = {
colorsPicked: [],
newProductSizes: []
};
2)它们作为道具传递到组件的 父 类中,如下所示:
<Product
colors={product.colors}
sizes={product.sizes}
updateProducts={this.updateProducts}
/>
3)它们据称在产品类中设置如下:
async componentWillReceiveProps(props) {
this.setState({
colorsPicked: props.colors,
newProductSizes: props.sizes
});
2个回答
尝试通过构造函数设置它们:
class Item extends Component {
constructor(props) {
this.state = {
colorsPicked: props.colors,
newProductSizes: props.sizes
}
}
}
Ed Gough
2019-04-12
cbdeveloper
2019-04-12