Javascript 如果状态不';你不会变吗?

Javascript 如果状态不';你不会变吗?,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我有一个在auth上订阅的组件: export default function requireAuthComponent(Component, redirectTo = '/') { class RequireAuthComponent extends React.Component { shouldComponentUpdate(nextProps) { return nextProps.auth.logged !== this.props.auth.logged;

我有一个在
auth
上订阅的组件:

export default function requireAuthComponent(Component, redirectTo = '/') {
  class RequireAuthComponent extends React.Component {
    shouldComponentUpdate(nextProps) {
      return nextProps.auth.logged !== this.props.auth.logged;
    }

    render() {
      const { auth } = this.props;

      if (auth.logged) {
        return <Component {...this.props} />;
      }

      return <Redirect to={redirectTo} />;
    }
  }

  return connect(({ auth }) => ({ auth }))(RequireAuthComponent);
}

您能否发布如何调用
requireAuthComponent
添加的描述为什么要将react组件实例放在redux存储中?如果props.auth.logged是唯一的真相来源,那么您可能需要重新考虑整个实现。在JSX中有条件地呈现组件可能是更好的选择。
import PrivatContainer from './container/PrivatContainer';
import requireAuth from '../../components/requireAuth';

export default store => ({
  path: '/privat',
  exact: true,
  component: requireAuth(PrivatContainer),
});