反应数据流

时间:2019-07-02 14:05:19

标签: reactjs

我试图创建一个博客应用程序,但对React的数据流模式有些困惑。

获取帖子后,我是否应该尝试使用Redux之类的内容来存储所有帖子?我要使用本地存储吗?

然后我如何告诉组件呈现帖子的“扩展”版本?最好重用一个“发布”组件,还是我应该创建两个单独的组件,一个用于标题,一个用于整个帖子?

我知道这是两个问题合而为一,但是它们有点在一起。预先感谢

2 个答案:

答案 0 :(得分:1)

这是我自学成才的React之旅六个月后发现的关于这些主题的信息。

我认为,React内置功能足以应付中小型应用程序的state(尤其是如果您是一个开发人员,则尤其如此)。

如果您立即转向Redux,则必须学习在单个不可变存储中处理状态的全新模式,以及如何将组件连接到它。

由于您很可能会异步获取数据,因此需要一个帮助程序库在Redux上异步工作:redux-thunkredux-saga

因此,从一开始就必须添加:

  • redux
  • react-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

您可以根据需要组织代码,但这对于使组件具有可伸缩性并以不同的属性重用它们更有趣