Reactjs 在不删除现有数据的情况下更新reducer对象中的单个值

Reactjs 在不删除现有数据的情况下更新reducer对象中的单个值,reactjs,react-native,Reactjs,React Native,我的目标是更新ruducer对象中的pause值,而不删除任何其他数据 这是我的鲁迪塞: export const initialState={ 音频:{ 声音:错, 索引:0, 名称:“”, 图像:“”, 用户名:“”, 暂停:错, }, }; 下面是它的案例: case'TRIGGER_AUDIO': 返回{ ……国家, 音频:action.payload, }; 以下是我如何访问音频值: const[{audio},dispatch]=useStateValue(); 这就是我按下按

我的目标是更新ruducer对象中的
pause
值,而不删除任何其他数据

这是我的鲁迪塞:

export const initialState={
音频:{
声音:错,
索引:0,
名称:“”,
图像:“”,
用户名:“”,
暂停:错,
},
};
下面是它的案例:

case'TRIGGER_AUDIO':
返回{
……国家,
音频:action.payload,
};
以下是我如何访问
音频
值:

const[{audio},dispatch]=useStateValue();
这就是我按下按钮时试图更新它的方式:


派遣({
类型:“触发器\音频”,
有效载荷:{
……国家,
停顿:是的,
},
})
}>
尝试以下方法:

case 'TRIGGER_AUDIO':
    return {
    ...state,
    audio: { ...state.audio, pause: action.payload.pause },
  }
调度将是这样的

 dispatch({type: 'TRIGGER_AUDIO', payload:{pause: true} })
或者如果你需要运用你的逻辑,它应该是

<TouchableOpacity
              onPress={() =>
                dispatch({
                  type: 'TRIGGER_AUDIO',
                  payload: {
                    ...state.audio,
                    pause: true,
                  },
                })
              }>

case 'TRIGGER_AUDIO':
      return {
        ...state,
        audio: action.payload,
      };

派遣({
类型:“触发器\音频”,
有效载荷:{
…国家音频,
停顿:是的,
},
})
}>
“触发音频”案例:
返回{
……国家,
音频:action.payload,
};

第三个是我喜欢的样式,但不起作用?它仍然会删除所有内容:(你试过第一个吗?你是如何访问dispatch中的state属性的?刚刚更新了我的代码,而第1个由于某种原因弄乱了我的代码