如何回调而不打印到控制台ReactJS

问题描述:

因此,要确保它已更新,您必须回调但我如何使它不显示回调,如果该回调有说的敏感数据。如何回调而不打印到控制台ReactJS

我目前的回调代码

handleChange(e) { 
    var cse = this.state.Case; 

    cse[e.target.name] = e.target.value; 

    this.setState({ 
     Case: cse 
    }, function() { 
     console.log(this.state.Case); 
    }); 
} 

我怎么会回调,而无需使用的console.log?

权利,使通过移除它停止它从打印到控制台的console.log一部分,但现在我得到这样的警告我如何制止这种警告

预计转让或函数调用,而是看到了一个表达NO-未使用的表达式

+4

不知道我的理解正确的问题...但刚刚删除的console.log? – Chris

+0

然后我得到一个警告它只有一个警告,但我真的不希望那里的警告。警告是预期的分配或函数调用,而不是看到一个表达式no-unused-expressions –

+1

取出console.log?无论如何,你也不应该在客户端有敏感数据,除非用户有反正看到它的权限......因为......需要5分钟才能打开开发者工具并找到信息。 –

“回调”只是一个函数,一旦原始函数完成 - 在这种情况下,一旦state已更新。但是,您绝不会使用强制来使用回调。这不是必需的参数。

参见setState()

的setState(更新器,[回调])

[]这里指参数是可选的


所以,如果你不想console.log任何东西,你可以删除。如果您在ESLint中收到有关空块语句或某事的警告,则可以完全删除回调。

所以像:

this.setState({ 
    Case: cse 
}); 
+0

如果我删除回调函数我得到错误,所以我不能这样做 –

+0

这不可能是正确的。你有什么特别的错误? – Chris

+0

我得到未定义的错误,因为即时设置状态第一次从他们刚刚设置状态,例如案例:'' –