我正在为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
})
如果我在调用操作/减速器后立即尝试访问状态,是否有问题?
如果需要提供其他详细信息,请告诉我。
答案 0 :(得分:0)
我终于明白了。 问题是这个功能-
selectedCurrentItem(){
this.props.singleSelection({id:this.props.id,fullData:this.props.dataList.fullData});
Actions.CardForm({id:this.props.SingleSelection.id});
}
在第一行中,我打电话给动作创建者设置状态。 之后,我立即尝试访问状态数据。 立即访问状态数据将不会仅返回更新的状态信息。