reactjs - 编码风格:如何区分来自 parent 或 redux 的 props?
问题描述
当我在一个组件中接受 redux props 和 parent props 时,我注意到很难从上述两个中分辨出 props。
例如
下面的组件接受四个变量:isOpenSidebar
、toogleSidebar
、isOpenMenu
和toogleMenu
。但是isOpenSidebar
,toogleSidebar
来自 redux,isOpenMenu
,toogleMenu
来自父 props。
为了区分不同来源的 props,我考虑在变量后使用下划线来标记来自 redux 的 props 像 this isOpenSidebar_
,或者在像 thisredux_isOpenSidebar
或rdx_isOpenSidebar
. 但我不确定这些是否是好主意?
有什么好的常用方法来区分不同产地的道具吗?
const Header = ({ isOpenSidebar, toogleSidebar, isOpenMenu, toogleMenu }) => {
return (
<header>
{!isOpenSidebar && (
<div onClick={() => toogleSidebar(true)}>
open sidebar
</div>
)}
{!isOpenMenu && (
<div onClick={() => toogleMenu(!isOpenMenu)}>
open menu
</div>
)}
<h4>header</h4>
</header>
);
};
export default connect(
(state) => ({
isOpenSidebar: state.ui.isOpenSidebar,
}),
{ toogleSidebar }
)(Header);
解决方案
推荐阅读
- c++ - 当用户键入字母时,MFC CListView 如何防止搜索和自动选择?
- jupyter-notebook - 无法创建新的 jupyter 笔记本
- python - 在 RPi 启动时启动 Python 脚本不起作用
- docker - 将 Docker 容器部署到数字海洋 nginx
- django - Django-为什么点赞系统不起作用?
- spring - 无法调用“java.lang.Object.hashCode()”,因为“value”为空
- verilog - 在 Verilog 中进行闩锁时,我们是使用阻塞语句还是非阻塞语句?
- php - 新的 Laravel 护照项目设置显然是一个基本问题
- javascript - “表单提交已取消,因为表单未连接”第三方网站的 Chrome 扩展程序错误
- android - 无效的
对于 appcompat 和 Drawerlayout 源文件中的给定资源值