javascript - 使用reactjs时复杂的逻辑应该放在哪里才能方便测试?

标签 javascript reactjs jasmine flux

使用reactjs时复杂的逻辑应该放在哪里才能方便用Jasmine测试? 我应该将它们放在 Reactjs 组件中吗? 我应该创建一个单独的 JS 模块并通过 props 将其包含到组件中吗? 我应该把它放在 Flux 商店中吗?

最佳答案

在组件之间共享逻辑的方法有很多种,这取决于您的场景和设计。假设您的 BookStore 中有 Book 状态。您需要访问多个 API、获取响应并将它们合并到 Book 状态对象中。合并响应的逻辑可以在 BookStore 中定义,每个组件都可以使用 Book 状态,而不必担心转换对象。由于转换逻辑仅在 BookStore 中定义,因此可以帮助您轻松测试逻辑。

因此,如果您的“复杂逻辑”意味着如何将数据转换为状态,请将它们放入存储中。如果它们指的是您如何检索数据,请将它们放入您的操作中。如果逻辑意味着您如何处理状态并影响 UI,请将它们放入您的组件中。如果该逻辑在组件之间共享,请创建一个单独的 JS 模块。

关于javascript - 使用reactjs时复杂的逻辑应该放在哪里才能方便测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665827/

相关文章:

javascript - 使用下拉 Reactstrap 更改状态

javascript - 在react js中解析JSON

javascript - react : Add user inputted form data to current state

AngularJS - 如何测试一个函数是否从另一个函数中调用?

javascript - 如何为 jquery 调用 `$(some)` 创建 spy ?

javascript - 如何引用父文件夹中的javascript?

javascript - 使用复选框从数组中添加/删除项目

javascript - Jasmine - 测试对象中未定义的方法

Javascript 提升 - 无法理解这一点

javascript - 使用循环创建动态嵌套对象