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),
});