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

如果要在请求中提交计算,是否应将计算存储在Redux存储中?,redux,calculation,Redux,Calculation,我有一个表单,要求用户输入一些数字。然后,使用存储在Redux存储中的数字进行一些计算。现在,我不将计算存储在Redux存储中,而是在组件的渲染函数中进行计算 现在,我需要提交的表单在HTTP请求中包含这些计算值。我该怎么做呢?我应该让Redux商店保存计算结果吗 如果您计划在UI中使用原始值和计算值,我可以看到将两者都保留在redux存储中的好处 如果您只需要在发出HTTP请求时使用计算,并且计算出的数据没有用作UI的一部分,那么更简洁的实现可能是将执行计算的函数分离到实用程序文件中,以及导入

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


现在,我需要提交的表单在HTTP请求中包含这些计算值。我该怎么做呢?我应该让Redux商店保存计算结果吗

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

如果您只需要在发出HTTP请求时使用计算,并且计算出的数据没有用作UI的一部分,那么更简洁的实现可能是将执行计算的函数分离到实用程序文件中,以及导入和使用组件/容器或操作文件中需要计算的函数

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

// 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)),
});