>本文探讨了建立和构建大规模反应应用的有效策略。 React关于文件结构的灵活性通常会导致组织挑战。本指南提供了一种实用的方法,承认最佳结构是主观的,并且可以适应个人偏好。
关键因素:
src
文件夹。
core
.jsx
prop-types
使用鸭子系统构建的状态管理。 将逻辑与组件隔离,并与Jest实施综合测试。 将测试文件与其相应的源文件一起放置。目录结构:
虽然理想结构各不相同,但一种常见和有效的方法涉及:
>顶级文件通常包括>,
和配置文件,例如>和
。<code>- src => Application code - webpack => Webpack configurations - scripts => Build scripts - tests => Test-specific code (mocks, etc.)</code>
REACT组件最佳实践:index.html
package.json
>使用Asshare组件core
文件夹按应用区域组织组件。 避免使用特定于区域的前缀(例如,从A CartTotal
文件夹导入的Total
vs.cart
)。 使用.jsx
扩展作为反应组件,并保持一致的命名惯例(例如,小写的小写)。 每个文件始终将单个组件导出为默认导出。 这简化了进口并促进测试。 对于小的,上下文相关的辅助组件,“每个文件一个组件”规则的例外是可以接受的。
智能与愚蠢的组件:
>>不需要单独的文件夹,但区分“智能”(数据处理,与redux连接)和“愚蠢”(纯粹渲染)组件。 优先考虑“哑巴”组件,以简单性和可检验性。 对于“智能”组件,请将业务逻辑保留在单独的JavaScript模块中,以易于测试和可维护性。
渲染方法优化:
prop-type验证:
>始终使用
记录预期的组件属性,以确保键入正确性并促进重复使用。 使用ESLINT插件强制执行此操作。
prop-types
>使用Redux进行状态管理,使用鸭子模式结构。 这将操作,缩减和动作创建者分组到单个文件中,简化导入并改善代码组织。
>独立的JavaScript模块:>将React组件中的业务逻辑提取到单独的JavaScript模块中(例如,在A>或
文件夹中)。这可以提高可测试性并促进模块化。
lib
services
用开玩笑的测试:
>利用玩笑进行全面的测试。 将测试文件与其源文件一起放置(例如,和
),以简化组织和维护。 这种方法消除了冗长的导入路径并提高了测试的可发现性。total.jsx
结论:total.spec.jsx
>
(原始输入中的常见问题部分已被省略,因为它在很大程度上重申了重写文章中已经涵盖的观点。
以上是如何组织大型反应应用并使其扩展的详细内容。更多信息请关注PHP中文网其他相关文章!