我试图创建一个博客应用程序,但对React的数据流模式有些困惑。
获取帖子后,我是否应该尝试使用Redux之类的内容来存储所有帖子?我要使用本地存储吗?
然后我如何告诉组件呈现帖子的“扩展”版本?最好重用一个“发布”组件,还是我应该创建两个单独的组件,一个用于标题,一个用于整个帖子?
我知道这是两个问题合而为一,但是它们有点在一起。预先感谢
答案 0 :(得分:1)
这是我自学成才的React之旅六个月后发现的关于这些主题的信息。
我认为,React内置功能足以应付中小型应用程序的state
(尤其是如果您是一个开发人员,则尤其如此)。
如果您立即转向Redux,则必须学习在单个不可变存储中处理状态的全新模式,以及如何将组件连接到它。
由于您很可能会异步获取数据,因此需要一个帮助程序库在Redux上异步工作:redux-thunk
或redux-saga
。
因此,从一开始就必须添加:
有很多文档要消化。完全可行,但我完全同意以下报价:
不解决您没有的问题
由于您从未遇到过它们所解决的问题,因此很难学习这些工具。开始学习React时尚未遇到的问题。
(由Redux创建者阅读):
https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
所以,我对您的建议:
学习基本的React(包括课程)
https://reactjs.org/docs/getting-started.html
然后学习React Hooks(您基本上可以忽略类组件):
https://reactjs.org/docs/hooks-intro.html
首先只使用React构建项目。看看进展如何。然后,您可以阅读有关Redux及其功能的更多信息,并可以在确实需要或不需要的地方做出更好的选择。
根据您对我们的项目介绍:
state
。也许在<App/>
组件内部。BlogPostComponent
内显示有关帖子的完整信息,或者在BlogPostThumbnailCard
内仅显示缩略图和标题,以显示简化版本。答案 1 :(得分:0)
如果您想为React的下一版本做好准备并使用较短的代码,则应尝试使用钩子并避免使用类
https://reactjs.org/docs/hooks-intro.html
您可以根据需要组织代码,但这对于使组件具有可伸缩性并以不同的属性重用它们更有趣