Javascript react'中的销毁es6默认值;道具

Javascript react'中的销毁es6默认值;道具,javascript,reactjs,Javascript,Reactjs,在componentB的构造函数中,我可以 const{from,to}=this.props但是我的from-to值是可选的。我做不到 this.state={from,to}如果它们为或空。有没有办法设置销毁的默认值 如果(从&&to){},我可以做,,但我想知道在react中处理可选道具的最佳方法是什么。考虑使用类型检查和默认道具为您期望的道具设置默认值。请参阅此处的文档。 在你的情况下,你可以定义 //declare default Props expected by app Comp

在componentB的构造函数中,我可以

const{from,to}=this.props
但是我的from-to值是可选的。我做不到

this.state={from,to}
如果它们为或空。有没有办法设置销毁的默认值


如果(从&&to){},我可以做
,但我想知道在react中处理可选道具的最佳方法是什么。

考虑使用类型检查和默认道具为您期望的道具设置默认值。请参阅此处的文档。

在你的情况下,你可以定义

//declare default Props expected by app
ComponentB.propTypes =  {
 from: PropTypes.string,
 to: PropTypes.string.isRequired
};

//set our default values
ComponentB.defaultProps = {
 to:"0/0/0"
 from:"0/0/0" 
};

考虑到这里,我使用了string,并声明需要
to
属性,但是from没有isRequired标志。注意,我在这里使用了字符串,但还有许多其他类型的字符串可以使用

使用默认道具将默认值设置为“to”和“from”变量

Component.defaultProps={
从:“28/12/1992”,
致:“28/12/1992”

};您可以使用以下两种方式之一:

1。在分解过程中为变量指定默认值,如下所示:

const { from = 'abc', to ='abc' } = this.props;
如果
this.props
不包含任何键,它将采用默认值“abc”

2.使用
defaultProps
为props变量指定默认值,如下所示:

ComponentName.defaultProps = {
    from: 'abc',
    to: 'abc'
};
从父组件传递的所有
道具
将被分配这些默认值

检查此示例:

varobj={a:1,b:2,c:3};
var{a=5,b=5,d=5}=obj;
控制台日志(a、b、d)