Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 问题-react'中的可选字段;s组分状态_Javascript_Reactjs_State - Fatal编程技术网

Javascript 问题-react'中的可选字段;s组分状态

Javascript 问题-react'中的可选字段;s组分状态,javascript,reactjs,state,Javascript,Reactjs,State,因此,我们正在与一家外部公司合作开发我们的移动应用程序。他们的一位资深领导看到了我的代码,问我为什么不这样做: class Insurance extends React.PureComponent{ state: { coverageType: [], distancePerYear: 0, plateNumber: '00000000', isPrivate: false, lien?: {

因此,我们正在与一家外部公司合作开发我们的移动应用程序。他们的一位资深领导看到了我的代码,问我为什么不这样做:

class Insurance extends React.PureComponent{
    state: {
        coverageType: [],
        distancePerYear: 0,
        plateNumber: '00000000',
        isPrivate: false,
        lien?: {

        }
    }
}
在我的代码版本中,
lien
字段如下所示:

lien: {
  isExist: false,
  // .... more attributes
}
因此,我想问一些关于他提供的模式的问题,因为我以前很少看到这个
操作员,而且从来没有在状态(遗憾的是,现在至少两周内都不会问那个高级操作员):

  • 如何将默认状态设置为该字段不存在

  • 当它不存在时-我如何瞄准它来填充它?正在执行
    this.setState({lien:{/*more attributes*/})足够了吗?或者我需要以某种方式创造它

  • 若用户错误地输入了留置权,然后想要取消留置权,我如何从状态中删除它?如何使该字段再次不存在

  • 你们觉得这是个好办法吗?为什么它比我做的更好?(我知道这个问题是自以为是的,我想听听你们的想法)


  • 非常感谢

    他基本上是在尝试使用typescript可选属性检查:这不是有效的语法。也许他被
    typescript
    可选属性弄糊涂了?我的意思是,你可以使用
    三元运算符
    扩展
    来实现条件属性,但你为什么想要这个呢。只需将其声明为
    null
    ohh。。。那么这个语法只在TS上有效?也许他当时真的很困惑…是的
    const obj={foo?:'foo'}
    无效javascript@Dupocas正确的tnx很多!有点让我的生活更轻松:D