reactjs - 与 mapStateToProps 一起使用连接时,“无法读取未定义的属性“地图”
问题描述
我正在尝试在我的 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
}
}
解决方案
您在渲染时没有使用连接的组件,因此组件中的道具不可用
const ConnectedDumb = connect(
data,
null
)(Dumb);
class Container extends React.Component {
render() {
return (
<div>
<ConnectedDumb />
</div>
);
}
}
推荐阅读
- php - 打印表格pdf功能
- ruby-on-rails - ruby on rails 中的关联 - 用户创建课程
- java - 编译 Java 代码时发生“不兼容类型错误”
- kendo-ui - 如何添加不在 sprite.png 中的剑道编辑器工具图像
- r - 有没有办法提高模型的性能或替代方法?
- csv - P5 无法加载 CSV 表和图像
- laravel - Kubernetes 上的 Laravel websocket - 一些呼叫被丢弃
- excel - 是否可以使用输入框的输入在另一个工作表中查找列标题?
- reactjs - 在我的 React 应用程序中支持纯 ESM 包,以便能够将 Swiper 更新到版本 7
- javascript - TypeError: undefined is not an object (evalating 'this.props = props') and Invariant Violation: "main" has not been registered。在本机反应