设置状态,然后进行重定向/导航

时间:2018-11-22 16:40:29

标签: javascript reactjs state

仅在onClick中执行一个函数调用后,才可以进行函数调用。 因此,我尝试在点击时设置状态,然后重定向到另一页。这样的事情。               {数据=> {         返回(

        <MenuItem selected={isHighlighted} component="div"
        onClick={e => {
        e.preventDefault();  
          () => data.setSidenav(path)
        navigate(path)

        }}

        >

        </MenuItem>

    );
  }}
  </ContextConsumer>

1 个答案:

答案 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函数中使用导航功能,因为它们似乎都以“路径”作为参数。