reactjs - React Modal 使页面崩溃
解决方案
我已经着手重构了您的应用程序。你有很多错误阻碍了你的申请。
工作示例:https ://codesandbox.io/s/xj553k7nno
请仔细阅读以下注意事项:
- 使用 npm 包
react-redux
(文档)连接和调度到redux
containers
将您与您分开components
:https ://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0- 使用 时
prop-types
,我建议propTypes
在您的课程之外定义(我更喜欢在class
orfunction
之前或之后定义它export
)。有关详细信息,请参阅此。 - 创建
actions
操纵 Redux 的state
并创建types
处理state
要操纵的内容。 - Redux 的常见约定
actions
是return
atype
和payload
(尽管有时 apayload
可能不是必需的)并且所有人都reducers
期望从动作中得到那个type
和。payload
switch
为您if
的. _else
reducers
- 阅读时
import
请遵循以下顺序:- 1.) 节点模块
- 2.) 组件/容器/动作/Reducers/Helper 函数
- 3.) 样式表
- 不要嵌套无效的 HTML 元素:(
<p><div/></p>
不能div
作为child
of出现p
) - 不要使用模糊的道具名称:
close
,open
, ...等。而是更具声明性:closeModal
,openModal
, ... 等。 - 不要使用下划线
_
,因为这不是常见的 JavaScript 命名约定 - 使用可重用组件减少重复代码(例如:)
ModalColor
! state
在这个例子中,不需要React来更新 Redux 的state
.state
Redux 可以通过actions
和控制自己的reducers
。- 当您需要封装不需要包含 HTML 元素的 JSX 元素时使用
<Fragment></Fragment>
or 。<></>
简化您的应用程序结构:
├── build | ├── css | | ├── main.[contenthash:8].css | | └── main.[contenthash:8].css.map | ├── js | | ├── main.[hash].js | | └── main.[hash].js.map | ├── media | | └── [hash].[ext] | └── favicon.ico | └── index.html | ├── public | ├── favicon.ico | └── index.html | ├── src | ├── actions | ├── components | ├── containers | ├── images | ├── reducers | ├── routes | ├── store | ├── styles (global) | ├── tests | ├── types | ├── utils | ├── index.js | ├── serviceWorker.js | └── setupTests.js | ├── .gitignore ├── README.md ├── package.lock.json └── package.json
推荐阅读
- optimization - 有界变量的 GEKKO 优化如何工作?
- python - 如何从 Dialog 向 MainWindow 中的插槽发出信号
- python - Python进程完成但不继续通过加入我做错了什么
- r - 如何将cross()函数与mutate()和case_when()结合起来,根据一个条件对多列中的值进行变异?
- javascript - TypeError:Test.findAll 不是函数调用 Mongoose Schema
- tkinter - 我无法通过 pip 安装 tkinter,错误:没有匹配的分布
- python - 如何使用 Tkinter 遍历标签中的列表?
- python - 如何在 Python 中比较两 (2) 个不相等的数据帧并将元素从一个分配到另一个?
- c# - 如何对 Asp.Net Core Mvc 控制器进行 GET Ajax 调用
- javascript - 鼠标指针无法检测到元素以触发 onClick()