首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >设置道具默认值的最佳方法是什么?

设置道具默认值的最佳方法是什么?
EN

Stack Overflow用户
提问于 2021-08-08 23:02:42
回答 3查看 1.6K关注 0票数 0

我的应用程序中有几个道具是从减速机选择器收到的.

我想知道,我是否应该在下面提到的所有地方为道具设置默认值?

defaultProps

  • in减速器的
  1. 在选择器

中的

或者我应该只在这三个位置中的一个定义默认值,为什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-08-08 23:17:41

建议只在一个地方设置默认值。因为如果它设置在一个地方,您就不必在不同的组件、选择器等中一次又一次地麻烦。这也将避免由于默认值而导致的错误。

  1. at defaultProps:如果您设置了defaultProps,那么如果在多个组件中使用道具,您将在多个组件中设置默认值。如果您在UI.
  2. in选择器上显示的结果不一致:如果您在多个选择器中使用来自存储区的相同支持,则必须在返回结果之前设置默认值。同样,这也不是一个好的approach.
  3. in还原剂:这是道具将放在商店里的地方。一旦设置了默认值,它将用于所有组件、选择器,而不作任何更改。

我认为,考虑到一个可扩展的应用程序,在reduce中设置看起来更有希望和更稳定。

票数 1
EN

Stack Overflow用户

发布于 2021-08-08 23:09:51

这取决于具体的环境。我建议使用ES6默认参数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters

例如:

代码语言:javascript
运行
AI代码解释
复制
const MyComponent = props => {
  const { name = 'default name' } = props;

  return (
    <>
     {name}
    </>
  )
}

同样的原则也适用于你的减速器:

例如:

代码语言:javascript
运行
AI代码解释
复制
function myReducer(state = { name: 'default name' }, action) {
  switch (action.type) {}
}

此方法适用于所有函数。或者,您也可以使用Component.defaultProps来响应组件。

票数 0
EN

Stack Overflow用户

发布于 2021-08-08 23:21:54

理想情况下,您应该只在一个公共位置设置默认的支柱,而不是代码中的所有地方,因为如果将来必须更改逻辑,将很难维护。

在选择器中拥有默认值可以使您不必担心在还原器中重置每个更新的值,以及您可以回溯使用该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68708020

复制
相关文章
猎豹移动的“豹变”
在618大促的一片火热之中,大家的注意力都集中在如何从各大平台上尽可能多薅一点羊毛上。而在这片火热之中,猎豹移动悄然公布了其2020年第一季度的财报,业绩之淡,和外界的一片热闹形成明显对比。
刘旷
2020/06/15
6750
猎豹移动的“豹变”
猎豹“豹变”:两工科男出走后的故事
发表评论 795 views A+ 所属分类:新闻  春节放假前的最后一天,雷军出现在猎豹移动公司办公所在地,北京东三环的复星大厦。雷军一直担任猎豹移动的董事长,有“董事长专业户”之称的雷军来到猎豹移动有很多事情,其中最重要的事情就是商讨赴美上市大计。   那时候,猎豹移动还叫金山网络。4月3日,猎豹移动向美国证券交易委员会(SEC)提交IPO(首次公开招股)申请文件。同时,金山网络更名为猎豹移动。猎豹移动招股书显示:计划通过IPO交易筹集最多3亿美元资金。   2008年傅盛与徐鸣先后离开3
用户1127987
2018/06/05
8730
那些坑人的乱码问题(上)
手持两把锟斤拷,(GBK与UTF-8) 口中疾呼烫烫烫。(VC++) 脚踏千朵屯屯屯,(VC++) 笑看万物锘锘锘。(HTML)
一个无聊的人
2022/08/26
1.3K0
加壳上碰到的问题
最近由于公司项目原因,开始学习入手C++的加壳技术壳的编写,参考文献oBuYiSeng的博客里面详细的介绍了加壳的原理和开发步骤。 个人在开发的时候碰到了一些问题,总结一下,希望对在做加壳的朋友有帮助,如果有不足的地方,望大家指出 个人的开发环境:vs2015
包子388321
2020/06/16
9970
Forsage魔豹联盟DAPP系统开发方案
简单解释下,我们定义了一个名为hello的合约,在合约初始化时保存了一个字符串(我们会传入hello world),每次调用say返回字符串。 把这段代码写(拷贝)到Browser-Solidity,如果没有错误,点击Details获取部署代码,如:
开发v_syn520110
2022/10/27
3590
兼容问题(上)
只在IE下生效 只在IE6下生效 只在IE6以上版本生效 IE8以及IE8以下 只在IE8上不生效 非IE浏览器生效
河湾欢儿
2018/09/06
6440
在SAE上开发遇到的问题~
添加一个escape_data()的函数,该函数已经会自动识别各种PHP配置环境~
libo1106
2018/08/08
6350
centos安装git上遇到的问题
1. 下载地址:https://www.kernel.org/pub/software/scm/git/
山海散人
2021/03/03
7570
iMac上RubyGems相关的问题汇总
原因就是字面意思的原因, gem 要往目录/usr/bin写文件但是权限不够. 因为此时使用的是系统自带的 ruby, 他会在尝试往系统库中安装内容。有时候即使是使用sudo或许也不可以安装。解决这个问题有两种方法:
子勰
2018/10/09
9990
改善 Kubernetes 上的 JVM 预热问题
JVM 预热是一个非常头疼而又难解决的问题。本文讨论了在运行在 Kubernetes 集群中的 Java 服务如何解决 JVM 预热问题的一些方法和经验。
码农架构
2021/09/18
1.2K0
改善 Kubernetes 上的 JVM 预热问题
改善 Kubernetes 上的 JVM 预热问题
JVM 预热是一个非常头疼而又难解决的问题。基于 JVM 的应用程序在达到最高性能之前,需要一些时间来“预热”。当应用程序启动时,通常会从较低的性能开始。这归因于像即时(JIT)编译这些事儿,它会通过收集使用配置文件信息来优化常用代码。最终这样的负面影响是,与平均水平相比,预热期间接收的 request 将具有非常高的响应时间。在容器化、高吞吐量、频繁部署和自动伸缩的环境中,这个问题可能会加剧。
CNCF
2021/03/15
1K0
改善 Kubernetes 上的 JVM 预热问题
魔豹联盟系统开发方案(技术讲解)
互联网赖以生存的另一个主要协议就是HTTP协议以及超文本传输安全协议HTTPS。HTTP协议允许web浏览器客户端向web服务器发送数据请求,如果请求被接受,用户就能访问网页。这个协议定义了数据格式和传输方式,还定义了浏览器在收到某个命令时应采取什么相应的行动。区块链需要TCP/IP协议在底层实现数据传输,同样地,它们也需要一个协议来规范数据传输的方式。HTTP协议在现有的TCP/IP堆栈上建立,并扩展功能,让用户能够浏览网页。这个协议的出现使得用户界面变得更简单,而且可以实现大规模的数据传输。
开发v_StPv888
2022/11/01
3150
已上架的App在AppStore上无法搜索到的问题
iOS Magician
2023/10/11
2820
已上架的App在AppStore上无法搜索到的问题
已上架的App在AppStore上无法搜索到的问题
我们都知道上架如果APP证书过期也会导致失败,这边我们就推荐一个好用的工具-appuploder。
爱学iOS的小麦子
2023/07/06
6090
IOS上架图标问题
ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in the asset catalog in 'HY.app' can't be transparent nor contain an alpha channel.”
贰贰贰叁
2021/05/25
1.7K0
Form 表单 问题多多(上)
HTML5学堂 - 刘国利:2013年8月时,曾在给学生讲解WEB前端开发的HTML和CSS基本知识,学生要面对“表单”的制作。我喜欢把“表单”称之为初入前端的人的“恶梦”。不得不说,表单这个东西在前端开发的时候,问题是相当之多的,从嵌套规则、书写习惯,到浏览器的兼容问题,有很多需要注意的地方。根据行业变化,针对本篇文章进行了内容的调整,并重新书写部分内容,调整时间2015年08月03日。 本篇博文当中主要内容 form标签必不可少 form标签的嵌套规则 关于fieldset以及legend标签 在for
HTML5学堂
2018/03/12
1.7K0
Form 表单 问题多多(上)
聊聊技术之外的面试问题-上
从去年下半年开始的裁员潮到现在,依然没有好转,临近年底,反而有继续恶化的趋势。最近很多同学在后台留言说:明明感觉面试官提的技术问题都回答的很好,结果最后依然没通过面试,其中有什么原因。
老_张
2023/10/10
3370
聊聊技术之外的面试问题-上
全民窥豹背后的腾讯云小微知识图谱
10 月 23 日是世界雪豹日,这一天,腾讯将雪豹带到了公众视野,呼吁大众保护珍稀动物。这是一个名为”神秘雪豹在哪里“的小程序,也是腾讯科技公益互助计划在生态环保领域的创新尝试,它的诞生耗时 2 个月,涉及产品研发 30 余人。
深度学习与Python
2020/11/05
1.7K0
2.4G上的无线共存问题
2.4 GHz无线共存已经存在至少20年了。真正的问题在于,不同的2.4 GHz无线技术满足了同一设备的不同需求,因此必须要在同时运行而不会出现明显的性能退化。本文针对对WiFi,zigbee和thread,通过工业设计、协同管理以及2.4 GHz频段物联网应用的最佳实践,尝试探索共存技术。
半吊子全栈工匠
2018/08/22
1.4K0
2.4G上的无线共存问题
点击加载更多

相似问题

在ubuntu上安装时出现zaptel错误

21

在ubuntu上安装Sametime时出现错误

116

在ubuntu 16.04上安装Luci时出现错误?

215

在Ubuntu上安装Sass时出现IonicFramework错误

10

在Ubuntu上安装Heroku工具带时出现错误

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文