【发布时间】:2021-02-15 20:33:58
【问题描述】:
我正在尝试在用户给出自己的评分后更新评分平均值。我设法更新了对象,但不知道如何让它重新渲染组件,所以会出现新的平均值。我这部分的代码:
const pizza = props.route?.params?.pizza ?? null;
const rateClicked = () => {
doRate(pizza.id, highlight, token)
.then( resp => {
Alert.alert("Rating", resp.message);
doGetDetails(pizza.id, token).then( resp => {
pizza.avg_rating = resp.avg_rating;
});
})
}
谢谢!
【问题讨论】:
-
能不能只把评分设置为状态,然后更新状态?
-
const rateClicked 在Press 上运行,我不确定如果我要使用setState,我该如何重新渲染组件。我不能将 const rateClicked 放入 useFocusEffect。我是新手,所以也许我的方法不是很聪明
-
这是一个基于类的组件还是函数式组件?
-
功能:
export default function Details(props) { -
如果您使用挂钩,您可以为评级设置状态挂钩,只需将评级更改为用户在 inputtext 中输入的新状态即可。如果不是因为它的功能,你必须使用 redux 或者只使用基于类的方法
标签: react-native render rerender