使用reactjs时复杂的逻辑放哪里方便测试?
Where can I put the complicated logics when using reactjs to be easy to test?
使用reactjs时复杂的逻辑可以放在哪里,方便Jasmine测试?
我应该把它们放在 Reactjs 组件中吗?
我应该创建一个单独的 JS 模块并通过 props 将它包含到组件中吗?
我应该把它放在 Flux 商店吗?
在组件之间共享逻辑的方法有很多种,这取决于您的场景和设计。假设您的 BookStore
中有 Book
个状态。您需要访问多个 API,获取响应并将它们合并到一个 Book
状态对象中。您合并响应的逻辑可以在 BookStore
中定义,并且每个组件都可以使用 Book
状态而不用担心转换对象。因为转换逻辑只在BookStore
中定义,它可以帮助您轻松测试逻辑。
因此,如果您的 'complicated logics' 表示如何将数据转换为状态,请将它们放入存储中。如果它们指的是您检索数据的方式,请将它们放在您的操作中。如果逻辑意味着您如何处理状态并影响 UI,请将它们放入您的组件中。如果该逻辑在组件之间共享,请创建一个单独的 JS 模块。
使用reactjs时复杂的逻辑可以放在哪里,方便Jasmine测试? 我应该把它们放在 Reactjs 组件中吗? 我应该创建一个单独的 JS 模块并通过 props 将它包含到组件中吗? 我应该把它放在 Flux 商店吗?
在组件之间共享逻辑的方法有很多种,这取决于您的场景和设计。假设您的 BookStore
中有 Book
个状态。您需要访问多个 API,获取响应并将它们合并到一个 Book
状态对象中。您合并响应的逻辑可以在 BookStore
中定义,并且每个组件都可以使用 Book
状态而不用担心转换对象。因为转换逻辑只在BookStore
中定义,它可以帮助您轻松测试逻辑。
因此,如果您的 'complicated logics' 表示如何将数据转换为状态,请将它们放入存储中。如果它们指的是您检索数据的方式,请将它们放在您的操作中。如果逻辑意味着您如何处理状态并影响 UI,请将它们放入您的组件中。如果该逻辑在组件之间共享,请创建一个单独的 JS 模块。