如果要在请求中提交计算,是否应该将计算存储在 Redux 存储中?

Should calculations be stored in Redux store if those are to be submitted in a request?

我有一个表单要求用户输入一些数字。然后,使用存储在 Redux 存储中的那些数字进行一些计算。现在我没有将计算存储在 Redux 存储中,而是在我的组件的渲染函数中进行计算。

现在我需要提交的表单在我的 HTTP 请求中包含这些计算值。我该怎么办?我应该让 Redux store 保存计算吗?

如果您计划在 UI 中使用原始值和计算值,我可以看到将两者都保存在 redux 存储中的好处。

如果您只需要在发出 HTTP 请求时使用计算,并且计算数据未用作 UI 的一部分,更简洁的实现可能是将执行此操作的函数分开计算到实用程序文件中,并导入和使用component/container或需要计算的动作文件中的函数。

我认为这会在每个文件中创建更清晰的关注点分离,并且如果需要,计算实用程序可以在多个文件中使用。

// Utility file
export const calculationFunction = (someParam) => {
  \ Calculation here
  return yourAnswer
}

然后

// Actions File (Note this is how my action dispatch is set up, yours might look a bit different 
import { calculationFunction } from 'utilities/calculations';

export const sendData = (data) => ({
  type: types.SEND_DATA,
  responseTypes: [types.SEND_DATA_SUCCESS, types.SEND_DATA_FAILURE],
  promise: (client: any) => client.post('/data', calculationFunction(data)),
});