与mapStateToProps搭配使用时,“无法读取未定义的属性'map'”

时间:2018-10-03 11:39:57

标签: reactjs redux react-redux

我试图在我的react / redux功能组件中显示我的状态(用户):

const Dumb = ({ users }) => {
  console.log('users', users)
  return (
    <div>
      <ul>
        {users.map(user => <li>user</li>)}
      </ul>
    </div>
  )
}

const data = state => ({
  users: state
})


connect(data, null)(Dumb)

Dumb用于容器组件。 users.map语句有问题,但是我认为数据是通过connect语句注入的?减速器的初始状态为1个名称:

const users = (state = ['Jack'], action) => {
  switch (action.type) {
    case 'RECEIVED_DATA':
      return action.data

    default:
      return state
  }
}

CodeSandbox

1 个答案:

答案 0 :(得分:6)

渲染时您没有使用连接的组件,因此道具在组件中不可用

const ConnectedDumb = connect(
  data,
  null
)(Dumb);

class Container extends React.Component {
  render() {
    return (
      <div>
        <ConnectedDumb />
      </div>
    );
  }
}

Working demo