我使用Expo 30和带有Redux的React Native Picker,我用API填充了3个Picker:
<Picker
selectedValue={this.props.team}
onValueChange={(itemValue, itemIndex) => this.props.actions.setTeam(itemValue)}>
{this.props.teams.map((team) => {
return (
<Picker.Item label={team.name} value={team.id} key={team.id} />
)
})}
</Picker>
每次更改“选择器”中的值时,组件都不会重新渲染。我需要更改其他选择器以在以前的选择器上获得新的价值。
在我的actions.js文件中,我有:
export function setTeam(id) {
return dispatch => {
dispatch({type: "SET_TEAM", team: id});
}
}
我的减速机就像:
export default function(state = initialState, action) {
switch(action.type) {
//....
case "SET_TEAM":
return {
...state,
team: action.team
};
我真的不明白。我认为这是Redux的问题,但我不知道为什么我的组件没有重新渲染...