React native 如何使用状态键将对象传递给减速器
我正在用React Native构建一个应用程序,我正在尝试录制音频。我想将一个对象传递给我的操作,然后进一步传递给我的reducer,以便更新状态 在我调用操作的屏幕中:React native 如何使用状态键将对象传递给减速器,react-native,redux,React Native,Redux,我正在用React Native构建一个应用程序,我正在尝试录制音频。我想将一个对象传递给我的操作,然后进一步传递给我的reducer,以便更新状态 在我调用操作的屏幕中: this.props.recordAudio({ stoppedRecording: true, recording: false, paused: false }); 行动: export const recordAudio = (change) => { return { type: AUDIO,
this.props.recordAudio({ stoppedRecording: true, recording: false, paused: false });
行动:
export const recordAudio = (change) => {
return {
type: AUDIO,
payload: change
};
};
减速器:
const INITIAL_STATE = {
audio: {
recording: false,
paused: false,
stoppedRecording: false,
}
}
case AUDIO:
return {
...state,
audio: {
...state.audio,
[action.payload]
}
}
我收到一个错误:意外令牌(致命)。我也试过不用括号
我在音频中有其他键,通过直接传递键/值来更新它们更容易,而不是对它们进行单独的操作。有正确的方法吗?您应该拆下方括号
案例音频:
返回{
……国家,
音频:{
…国家音频,
…行动.有效载荷
}
}
您应该传播Object action.payload,例如:
case AUDIO:
return {
...state,
audio: {
...state.audio,
...action.payload
}
}
嗯,这就是我想的,但是当我像这样尝试时,我得到了意想不到的标记,期望“,”this@TomBomb:我犯了一个错误,你应该传播
动作。有效载荷
,因为它是一个对象
case audio:
return {
...state,
audio: {
...state.audio,
[action.payload]
}
}