React native 如何使用状态键将对象传递给减速器

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,

我正在用React Native构建一个应用程序,我正在尝试录制音频。我想将一个对象传递给我的操作,然后进一步传递给我的reducer,以便更新状态

在我调用操作的屏幕中:

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]
  }
}