我有一个道具,例如“shop_name”(这来自redux)。我必须检查这个道具与我的州“shop_name”不同,并禁用我的按钮。
现在我正在通过这种方法进行检查;
isChanged() {
const changedShopName = this.state.shop_name !== this.props.shop_name;
return changedShopName;
}
我正在通过onchange func传递新状态。并使用此保存功能进行保存。
onChange(event) {
const name = event.target.name;
const value = event.target.value;
this.setState({
[name]: value
});
}
saveSellerInfos() {
const data = {
shop_name: this.state.shop_name,
};
this.props.saveSellerInformations(data);
}
这是我的禁用字段按钮;
<Button
onClick={this.saveSellerInfos}
disabled={!this.isChanged()}
label={t('Save')}
className={styles.save}
/>
保存功能后,此道具无法正常更新。如何在保存功能后检查nextProps并禁用我的按钮?
答案 0 :(得分:1)
this
中的 Button
与您的想法不同,您需要使用.bind
。如下所述:https://medium.freecodecamp.org/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56