【发布时间】:2020-11-17 15:40:58
【问题描述】:
我的组件结构大致如下:
const [data, setData] = useState([]);
useEffect(()=>{
//update data from api
}, [])
return <Switch>
<Route exact path={`${match.path}`}>
{data.map(row=>
<Link to={`${match.url}/${row.id}`}></List>
}
</Route>
<Route path={`${match.path}/:id`}>
<Form>
</Form>
</Route>
</Switch>
当我更新<Form> 组件中的数据时,如何强制响应从 api 更新data?在这种情况下,重新运行我用来更新api的useEffect。
编辑
我解决问题的方法是这样的:
const [toggle,toggler] = useState(false);
useEffect(()=>{
//update from api
},[toggle]);
return <Form toggleFunction={toggler}>
我想知道是否有合适的解决方案
【问题讨论】:
-
Ciao,您的解决方案是正确的。至少,你想避免在 Form 组件上传递 prop,你可以使用 react-redux。但是您的解决方案有效。
标签: reactjs react-router react-functional-component