Redux-组件未使用connect()重新呈现

时间:2019-02-10 22:51:44

标签: javascript reactjs react-native redux

我有一个组件需要根据用户是否登录来隐藏/显示内容。我的Redux记录器正在显示正确的状态更改,但是所连接的组件未重新呈现。起初,我认为这是一个突变问题,但是在尝试使用immutable.jsredux-starter-kit的{​​{1}}进行相同操作但没有成功之后,我想到了另外一个问题。

据我了解,使用createReducer时,该组件应重新呈现为本地状态。

异径管:

mapStateToProps

组件:

export default (
  state = {
    hasAuth: false,
  },
  action
) => {
  switch (action.type) {
    case AUTH_LOADED:
      return { ...state, hasAuth: true }
    default:
      return state;
  }
};

Root Reducer

class Screen extends PureComponent {
  render() {
    return (
      <Fragment>
        {this.props.hasAuth && <Text>Logged In</Text>}
      </Fragment>
    );
  }
}

export default connect(state => ({
  hasAuth: state.auth.hasAuth,
}))(Screen);

1 个答案:

答案 0 :(得分:1)

您必须正确结合batchedSubscribe连接Redux。 以下是带有简短指南的文档:https://github.com/tappleby/redux-batched-subscribe