Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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 我应该在我的私有组件中包含多少安全逻辑?_Javascript_Reactjs - Fatal编程技术网

Javascript 我应该在我的私有组件中包含多少安全逻辑?

Javascript 我应该在我的私有组件中包含多少安全逻辑?,javascript,reactjs,Javascript,Reactjs,在构建了相当多的React组件、添加了propTypes、编写了测试并偶尔添加了默认的props之后,我仍然在质疑安全性有多高。在涉猎了流类型之后,我开始觉得我需要添加更多的安全检查,以确保在尝试呈现内容之前所有预期数据都存在 我可以看到额外安全性的一个好处是确保组件始终正确呈现,即使API出现故障。另一方面,通过快速失败可以更好地处理API失败。这些组件是非常内部的,它们的用途非常明确,很容易跟踪 当前组件: class Example extends Component { render

在构建了相当多的React组件、添加了propTypes、编写了测试并偶尔添加了默认的props之后,我仍然在质疑安全性有多高。在涉猎了流类型之后,我开始觉得我需要添加更多的安全检查,以确保在尝试呈现内容之前所有预期数据都存在

我可以看到额外安全性的一个好处是确保组件始终正确呈现,即使API出现故障。另一方面,通过快速失败可以更好地处理API失败。这些组件是非常内部的,它们的用途非常明确,很容易跟踪

当前组件:

class Example extends Component {
  render() {
    return this.props.items.slice(4)
      .map(item => <div>{item.name}</div>);
  }
}
类示例扩展组件{
render(){
返回此.props.items.slice(4)
.map(item=>{item.name});
}
}
在安全方面:

class Example extends Component {
  render() {
    return this.props.items &&
      this.props.items.length &&
      this.props.items.length > 3 &&
      this.props.items.slice(4)
        .map(item => <div>{item.name}</div>);
  }
}
类示例扩展组件{
render(){
返回此.props.items&&
这个.props.items.length&&
this.props.items.length>3&&
this.props.items.slice(4)
.map(item=>{item.name});
}
}
工程结束了吗?

是的

如果组件将接受用户输入,则应验证该输入。由于组件使用不当而导致的故障应快速失效,以便在开发过程中得到纠正,并且不会影响生产环境