将 state 赋值给 defaultValue

目的想把异步获取的一个数据 sourceId 经过加工 (isNet  = sourceId > 3 ? 1 : 0 ),通过 setState 赋值给 state 中的 isNet 字段;

刚开始的时候设置在 componentWillReceiveProps 生命周期中:

componentWillReceiveProps(nextProps: Readonly): void {

    const { CustomerEditService: { sourceId } } = nextProps;

    if (sourceId === this.props.CustomerEditService.sourceId) {

        return

    }

    this.setState({ isNet  :  sourceId > 3 ? 1 : 0 });

}

结果在 render 中设置 select 的 defaultValue 并没有产生效果:

经过查询文档将设置放在 componentWillMount 生命周期中,效果实现。

componentWillMount(): void {

    const { CustomerEditService: { sourceId } } = this.props;

    const isNet = sourceId > 3 ? 1 : 0;

    this.setState({ isNet });

}

    

        {/* 是否网络客户选择 */}

        

    

你可能感兴趣的:(将 state 赋值给 defaultValue)