仅在onClick中执行一个函数调用后,才可以进行函数调用。 因此,我尝试在点击时设置状态,然后重定向到另一页。这样的事情。 {数据=> { 返回(
<MenuItem selected={isHighlighted} component="div"
onClick={e => {
e.preventDefault();
() => data.setSidenav(path)
navigate(path)
}}
>
</MenuItem>
);
}}
</ContextConsumer>
答案 0 :(得分:1)
setState可以进行回调:
this.setState({ some: 'thing' }, () =>
// do something here - only executes
// once setState has run
console.log(this.state.some)
)
因此,您可以将导航功能传递给data.setSidenav
,并使其作为setState回调运行。另外,您也可以在setSidenav
函数中使用导航功能,因为它们似乎都以“路径”作为参数。