mapStateToProps在useEffect之前运行,如何解决?

时间:2020-01-08 17:40:10

标签: javascript reactjs react-redux

我对mapStateToProps有疑问。

我创建了App.js,并在loadUser内分派了useEffect操作,以在每次刷新页面时加载用户。

const App = () => {
  useEffect(() => {
    store.dispatch(loadUser()); 
  }, []);
  return (
    <Fragment>
      <Navbar />
    </Fragment>
  )
}

问题在于,mapStateToProps内的Navbar总是被渲染,这会在调用dispatch loadUser之前引起错误。

Navbar.js

const Navbar = (prop) =>  {
  const user = prop.user; //always return undefined and cause page break
   return (
    <div>{user.name}</div>
   )
}
const mapStateToProps= state => ({
  user:state.loginReducer.user
});

export default connect(mapStateToProps, {})(Navbar);

您能告诉我如何解决吗?非常感谢。

0 个答案:

没有答案