我正在使用reducer,它的sems还原可以连接到redux,但不幸的是状态不能与props连接。 我已经看到了状态值,但它与道具没有联系。有人可以帮我找到如何确定道具的状态
1-reducer_books.js
------------------------------------------------------
export default function () {
return [
{ title: 'testTitle1' },
{ title: 'testTitle2' },
{ title: 'testTitle3' },
{ title: 'testTitle4' },
{ title: 'testTitle5' }
]
}
---------------------------------------------------
2-book-list.js
---------------------------------------------------
import React,{Component} from 'react';
import {connect} from 'react-redux'
class BookkList extends Component {
renderLis() {
return
this.props.books.map((book) => {
return (
<li className='list-group-item' key={book.title}> {book.title}</li>
);
});
}
render(){
return(
<ul className="list-group col-sm-4">
{this.renderLis()}
</ul>
)
}
}
function mapStateToProps(state) {
console.log("mapStateToPropsInfo: ", state)
return {
books: state.books
}
}
export default connect (mapStateToProps) (BookkList)
--------------------------------------------------
3-app.js
-------------------------------------------------
import React, { Component } from 'react';
import BookkList from '../containers/book-list'
export default class App extends Component {
render() {
return (
<div>
<BookkList />
</div>
);
}
}
------------------------------------------------
4-index.js
-------------------------------------------------
import { combineReducers } from 'redux';
import BookReducer from './reducer_books';
const rootReducer = combineReducers({
books:BookReducer
});
export default rootReducer;
我正在使用reducer,它的sems还原可以连接到redux,但不幸的是状态不能与props连接。 我看过状态值,但它与道具没有联系。有人可以帮我找到如何确定道具的状态吗?
答案 0 :(得分:1)
您将在方法“ renderLis()”中获得props值。原因在于,mapStateToProps将存储状态作为参数/参数(由react-redux :: connect提供),用于将组件与存储状态的特定部分链接。
通过链接,我的意思是mapStateToProps返回的对象将在构造时作为props提供,并且任何后续更改都可以通过componentWillReceiveProps获得。因此,如果要检查props值,可以通过在控制台上登录“ componentWillReceiveProps”生命周期方法或在呈现组件的renderLis()中进行检查。