我正在尝试创建一个完整页面日历(所有月份在一个页面中一个接一个地显示)。我对如何处理这个问题感到困惑,我想知道的是,如果每天都是一个组件,那么一个月组件和容器中的整个东西都不好?此代码将投入生产,因此我希望获得良好的性能。
如果影响决定,我还必须显示每个日期的一些数字(每个日期的价格)。
我希望创建一个与React-Infinite-Calender类似的产品,但每天都会有如前所述的定价细节。
还有一种比我提到的更好的方法吗?
答案 0 :(得分:2)
我认为模块化您的应用程序不是一个坏主意,或者会影响您的应用程序性能。
在多个components
中拆分应用程序是首先使React
这个高性能的原因。
在您的情况下,确定您是否需要stateful
或functional
的组件可能是个好主意。根据您作为场景呈现的内容,我将采用一种方法,其中月份(作为一个component
)保持状态,然后使用数据(包括价格标签)呈现多个functional components
(作为天数)你提到过)通过props
传递给它。
您可以在线找到几个优秀的资源,您可以通过React components
阅读有关构建/模块化应用程序的信息。
其中一个是关于构建React
个应用的帖子:Structuring React apps
答案 1 :(得分:1)
React是一个基于组件的框架,因此将每个项目抽象为单独的组件是正确的方法。它允许您拥有负责包含各种元素的所有逻辑。
创建应用时,只需记住使用map
生成内部的月份和日期。这样做会很快证明你的想法是正确的。
此外,请记住将道具传递给子级和无状态组件,这将极大地改善您的工作流程和性能。但请记住,避免state
可能会有害。使用state
将您的逻辑提升几个组件对您的性能影响更大。
最后,但并非最不重要的是,如果您遇到远离彼此的组件通信问题,请尝试使用状态管理工具,如Redux。