嗨,我和州政府有个奇怪的问题。
我使用的是选取器react本机模块
<Picker
selectedValue={partnership}
onValueChange={(itemValue, itemIndex) => {
partnerHandler(itemValue);
}}>
<Picker.Item label="Partner" value="Partner" />
<Picker.Item label="1K Partner" value="1KPartner" />
<Picker.Item label="Business Partner" value="BusinessPartner" />
<Picker.Item label="Ik ben al partner" value="AlPartner" />
<Picker.Item label="Gratis Account" value="GratisAccount" />
</Picker>然后,当值发生变化时,我运行此函数:
const partnerHandler = (itemValue) => {
console.log(itemValue);
setPartnership(itemValue);
}因此,在函数中,我记录了"itemValue“,并将该值设置为状态”伙伴关系“。
现在这个..。
useEffect(() => {
console.log(partnership);
if (partnership === "BusinessPartner"){
setMinValuePartnershipPrice(250);
} else if (partnership === "1KPartner"){
setMinValuePartnershipPrice(83);
} else if (partnership === "Partner"){
setMinValuePartnershipPrice(25);
}
console.log(minValuePartnershipPrice)
}, [partnership])因此,我创建了一个"useEffect“,它在呈现页面和状态”伙伴关系“发生变化时运行。
现在,当我记录“伙伴关系”时,它会给出我想要的结果,但是在我的if else语句中,它不会更新。当我选择“业务伙伴”时,"minValuePartnershipPrice“仍然是25,而当我选择"1KPartner”时,"minValuePartnershipPrice“是250。所以在整个过程中,它会选择我之前选择的数字。现在,当我在visual studio代码中按下保存时,它会跳转到正确的数据...
我做错了什么?该函数仅在更新状态时运行。当我记录数据时,它为我提供了正确的伙伴关系,但是当我在if else中推送数据时,它没有给我想要的结果。
发布于 2021-08-16 12:32:26
在将其设置为setState为async之后,您不能立即看到minValuePartnershipPrice。尝试添加另一个useEffect:
useEffect(() => {
console.log(minValuePartnershipPrice)
}, [minValuePartnershipPrice]https://stackoverflow.com/questions/68802806
复制相似问题