Jo *_* Ko 7 html javascript reactjs react-native redux
在React Native和Redux中,我有一个<NavigationCardStack/>
作为根组件.每次状态更新时,redux-logger都会在下一个/新状态下正确更新.
并且在状态更改之后,当新更新的状态是控制台登录子组件时,它不会控制日志记录更新的状态,而是控制台记录初始状态(在子组件childPage.js
和日志记录中:) render(){ console.log(this.props.state) return(...) ...
.
可能是因为我错误地连接到Redux或者丢失了某些东西?因为,一切看起来都很完美,也很有意义.
先感谢您!
以下是我的代码的一些片段:
这是我的reducer,子组件只会在这里记录initialState,即使已经添加和更新了其他属性:
const initialState = {
meetUp: false,
}
function itemReducer(state = initialState, action) {
switch(action.type) {
case ITEM_QUANTITY:
return {
...state,
quantity: action.quantity
}
case ITEM_PRICE:
return {
...state,
price: action.price
}
case ITEM_MEET_UP:
return {
...state,
meetUp: action.meetUp
}
default:
return state
}
}
export default itemReducer
Run Code Online (Sandbox Code Playgroud)
并连接到根组件,如下所示:
function mapStateToProps(state) {
return {
itemInfo: state.itemReducer,
...
}
}
export default connect(
mapStateToProps,
{
itemQuantity: (value) => itemQuantity(value),
itemPrice: (value) => itemPrice(value),
itemMeetUp: (value) => itemMeetUp(value),
}
)(NavigationRoot)
Run Code Online (Sandbox Code Playgroud)
通过以下操作:
export function itemMeetUp(value) {
return {
type: ITEM_MEET_UP,
meetUp: value
}
}
export function itemQuantity(value) {
return {
type: ITEM_QUANTITY,
quantity: value
}
}
export function itemPrice(value) {
return {
type: ITEM_PRICE,
price: value
}
}
Run Code Online (Sandbox Code Playgroud)
state = {this.props}表示状态以及如何将其传递给子组件
_renderScene (props) {
const { route } = props.scene
return (
<route.component _handleNavigate={this._handleNavigate.bind(this)} state={this.props}/>
)
}
<NavigationCardStack
renderScene={this._renderScene}
...
/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
832 次 |
最近记录: |