问题描述
我试图在进行API调用之前设置组件的状态。问题是首先调用了API调用。这就是我所拥有的。
onPress={() => {
setMeal('dinner');
addToLogButtonpressed();
}}
当我按下按钮addToLogButtonpressed();
时会先调用,这会导致错误。
如何在setMeal
之前给addToLogButtonpressed
打电话?
解决方法
我认为您可以使用useEffect来实现
const [meal,setMeal] = useState('')
useEffect(() => {
addToLogButtonPressed();
},[meal])
onPress={() => {
setMeal('dinner');
}}
,
对于我以前的项目,我也遇到了这个问题,只需将进餐值传递给您的addToLogButtonPressed()并在函数内部进行访问即可。 如果您在其他任何地方都没有使用“晚餐”值,则可以跳过设置状态,这将为您节省一次重新渲染。
onPress={() => {
setMeal('dinner');
addToLogButtonPressed('dinner'); // like this
}}