反应 Redux 整数最佳实践



>我有一个 Redux 结构我的 React 组件调用 sensorChanged() 如下

this.props.sensorChanged(0.123456789);

我我的动作有这个功能

export function sensorChanged(payload) {
  return {
    type: SENSOR_CHANGED, 
    payload
  };
}

在我的减速器中有这个

export default function sensor(state = initialState, action) {
  switch(action.type) {
    case SENSOR_CHANGED:
      state = {...state, temperature: action.payload };
      return state;
    default:
      return state;
  }
}

我需要像这样四舍五入值:(0.123456789).toFixed(3)

温度: 0.123

最佳实践是什么?

  • 整数在行动
  • 减速器中的整数
  • 反应组件中渲染函数中的整数

编辑

有关操作创建者、化简器和选择器的最佳实践建议 https://github.com/reactjs/redux/issues/1171

在许多文章中,建议业务逻辑属于操作创建者。减速器应该是愚蠢而简单的。在许多个别情况下,这并不重要,但在某些情况下,它可以保存代码的一致性。

如果您希望应用程序中的某个地方有舍入数字,而在其他地方是原始数字,请在容器的连接 - mapStateToProps 中将该数字舍入,而不是呈现方法。如果你在渲染方法中舍入它,当你的组件被重新渲染时,你的数字将每十几舍五入一次,我想这不是你想要的。

简而言之,如果该化简器总是需要四舍五入它收到的数字,请将其添加到您的化简器中。这样,您可以在其他地方调用该化简器,并从集中式业务逻辑中受益。

如果您认为化简器有时可能用于 0.123,有时可能用于 0.12345...,则在渲染函数中四舍五入

您可能只是从一个地方使用这个减速器。在这种情况下,我仍然会将此功能添加到化简器中。它是纯粹的。

相关内容

  • 没有找到相关文章

最新更新