reactjs - 如何构造组件

标签 reactjs

我刚刚开始学习 React,我想知道构建我的测试项目的最佳方法是什么。

该应用程序只有一页,并且必须:

  • 进行访问外部 API 的搜索,返回 JSON。
  • JSON 结果将以可读的格式显示给用户
  • 具有带动态链接的按钮
  • 有一个包含一些 json 数据的下拉列表

我认为每个组件都应该有一个组件,将关联设置为“搜索”作为父组件,其他每个组件都直接继承自该组件。

例如:

app
│   ├── search component
│   │   ├── dropdown component
│   │   ├── list component
│   │   ├── button component
│   │  

但这感觉像是错误的方法。我正在寻找状态管理的 redux,但认为这有点太过分了。由于我需要访问每个组件的搜索数据,是否有更好的方法来构造此数据?谢谢

最佳答案

您的组件设计似乎适合您尝试构建的应用程序。如果来自 api 的数据很简单并且状态可以由父组件管理,那么 Redux 在您的情况下确实是一种矫枉过正。

对您 future 道路的一些指导:

  1. 调用 componentDidMount 中的 api您的Search组件获取JSON数据并将其保存到state组件的。
  2. 创建 Loading组件,它将显示在您的 Search 中组件,当您的 api 调用完成时( state 没有数据)。
  3. 传递来自 state 的 json 数据的Search其子组件为 props 。只传递state的部分这与 child 相关。
  4. 传递来自 Search 的操作子组件用于处理由于任何事件(如按钮 onClick、下拉菜单 onChange 等)而导致的任何数据更改。这些操作将修改 state Search的组件并通过 props 将更改传递给子组件。

希望这有帮助!

关于reactjs - 如何构造组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46966525/

相关文章:

reactjs - 如何向react-konva Image对象添加边框半径?

javascript - 以编程方式渲染 Redux 表单字段

reactjs - 将 React 组件部署到许多个人项目中

node.js - 使用 flatpickr 无法正确显示日历

reactjs - 如何更改Chakra UI Toast组件的背景颜色?

reactjs - 如何使用 Material-ui 显示/隐藏 <div>

javascript - 如何在 React Native 中使用数组对象迭代数组

reactjs - 在 react js 应用程序中使用 flutter web 小部件

reactjs - React 项目 - 节点模块中的展开运算符意外标记

javascript - react 无状态组件不工作