【发布时间】:2017-12-05 10:08:47
【问题描述】:
我有一个显示名称和状态的平面列表, 我想通过单击平面列表项单击来切换用户的状态。 为此,我创建了 redux action 和 redux reducer。但无法更改当前状态。
itemClick (item,index) {
const value=false;
this.props.listItemClick({props:'status',value});
}
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case LIST_CLICK:
console.log(action.payload.props);
return {...state,[action.payload.props]: action.payload.value};
default:
return state;
}
};
但无法更改指定用户对应的状态。例如 Raj 状态为 false
{
"response": [{
"name": "RAJ",
"status": true
}, {
"name": "RAM",
"status": true,
}]
}
<FlatList
showsVerticalScrollIndicator={false}
removeClippedSubviews={false}
data={this.props.response}
ItemSeparatorComponent = {this.flatListItemSeparator}
ListFooterComponent={this.flatListItemSeparator}
keyExtractor={(item, index) => index}
renderItem={({item,index}) => this.renderFlatListItem(item,index)}/>
【问题讨论】:
-
可以在返回前合并数据
-
我是 redux 的新手。让我知道该怎么做
-
你可以在console.log(action.payload.props);之前修改你的对象;
-
但相同的 json 结果无法将状态更改为 false
-
使用 Object.assign([],yourData)
标签: react-native redux react-redux