React-Native:从Reducer返回后不获取状态数据

时间:2019-01-25 04:55:41

标签: react-native redux react-redux

我正在为React Native应用编写少量组件。在这里,我遇到了一个无法解释的问题。

这是组件的渲染方法-

Bitmap.disableRecycling()

如果用户按下组件,则将调用此方法-

return (
 <TouchableWithoutFeedback onPress={(event)=>this.selectedCurrentItem()} >
<View style={CardItemStyle.containerStyle}>
<Text style={CardItemStyle.titleStyle}>{this.props.title}</Text>
<Text style={CardItemStyle.bodyStyle}>{this.props.description}</Text>
<Image source={{uri:this.props.uri}} style={CardItemStyle.imgStyle}></Image>
</View>
</TouchableWithoutFeedback>
   )

如果您在上面注意到,则有一个对SingleSelection的调用,该调用基本上是动作创建者,而该调用者又称为reducer-

selectedCurrentItem(){      
this.props.singleSelection({id:this.props.id,fullData:this.props.dataList.fullData});
 console.log(this.props);
 Actions.CardForm({id:this.props.SingleSelection.id});
}

对reducer的调用可以正常进行,我可以通过调试器进行检查。

此行存在问题(试图导航至其他组件)-

const INITIAL_STATE={fullData:[]};

export default  SingleSelection=(state=INITIAL_STATE,action)=>{
switch(action.type){
case "singleItem": 
selectedObject=action.payload.fullData.filter((item)=>{ return 
item.id===action.payload.id});

return {...state,selected:selectedObject};
 default: return state;
}
}

在“ selectedCurrentItem”方法中。

我没有从Reducer返回状态数据。 因此,

 Actions.CardForm({id:this.props.SingleSelection.id});

没有任何价值

请注意,我有以下的组合减速器-

    this.props.SingleSelection.id 

这是mapstateToProps,并从同一组件连接-

export default combineReducers({
    dataList:dataList,
    SingleSelection:SingleSelection
})

如果我在调用操作/减速器后立即尝试访问状态,是否有问题?

如果需要提供其他详细信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我终于明白了。 问题是这个功能-

selectedCurrentItem(){      
this.props.singleSelection({id:this.props.id,fullData:this.props.dataList.fullData});
  Actions.CardForm({id:this.props.SingleSelection.id});
}

在第一行中,我打电话给动作创建者设置状态。 之后,我立即尝试访问状态数据。 立即访问状态数据将不会仅返回更新的状态信息。