eslint / eslint-plugin-react:<form action =“Javascript:void(0)”> - no-script-url error

时间:2015-10-02 20:00:22

标签: javascript reactjs eslint

我有一个表单的组件:

  

&LT; form action =&#34; javascript:void(0)&#34;的onSubmit = {this.join}&GT;

Eslint抱怨道:

  

错误脚本网址是eval no-script-url的一种形式

注意:我也在使用&#34; eslint-plugin-react&#34;

如何放宽此规则或javascript void函数的替代方法?

3 个答案:

答案 0 :(得分:7)

我遇到了这个问题,然后在官方的Redux文档中看到了这种模式,这对我来说很有意义:

<a
  href=""
  onClick={e => {
    e.preventDefault()
    onClick()
  }}
>
  {children}
</a>

Source

这就是我从现在开始做的事情。

答案 1 :(得分:3)

我禁用了它:

"no-script-url": 0

答案 2 :(得分:2)

实际上禁用它是错误的,因为javascript:就像浏览器的eval一样,eval是人们所知道的邪恶。

或者,您不需要action道具。而是preventDefault方法中的join。 例如;

function join(e){
  e.preventDefault();
  //...
}