![](/img/trans.png)
[英]React / Redux: mapStateToProps not actually mapping state to props
[英]state in mapStateToProps is JSX! React / Redux
我是React / Redux的初學者並遇到了這個瘋狂的問題,當我在console.log狀態下調試mapStateToProps(狀態)時,它記錄了一些JSX。 詳細說明...
import React, { Component } from 'react';
import { connect } from 'react-redux';
import BlogListItem from './blog_list_item';
import selectBlogs from '../selectors/blogs';
const BlogList = (props) => (
<div className="content-container">
<div className="list-header">
<div className="show-for-mobile">Blogs</div>
<div className="show-for-desktop">Blog</div>
<div className="show-for-desktop">Posted on</div>
</div>
<div className="list-body">
{
props.blogs.length === 0 ? (
<p className="list-item list-item--message">No Blogs. Write one now!</p>
) : (
props.blogs.map((blog) => {
return <BlogListItem key={blog.id} {...blog} />;
})
)
}
</div>
</div>
);
const mapStateToProps = (state) => {
console.log(state); // Logs out JSX here
return {blogs: selectBlogs(state.blogs, state.filters)};
};
export default (mapStateToProps)(BlogList);
console.log JSX如下:
ƒ BlogList(props) {
return _react2.default.createElement(
'div',
{ className: 'content-container' },
_react2.default.createElement(
'div',
{ className: 'list-header' },
_react2.default.…
這正是我上面定義的const! 因此,應用程序將無法運行,因為傳遞給selectBlogs()
的參數變為undefined
。
(如果需要任何其他細節,請詢問!)
導出連接的實例時,您錯過了connect
,這就是您收到錯誤的原因
export default connect(mapStateToProps)(BlogList);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.