账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    standard检测js代码,忽然风格就变了,请问怎么解决?
    60
    0

    项目中用的是stardard做的代码检查,具体的配置是babel-eslint

      "standard": {
        "parser": "babel-eslint",
        "ignore": [
          "mock/**",
          "public/**",
          "dist/**"
        ]
      }

    今天把node_modules删除了重新打包,按理说代码的检查的风格是没有变的,以前这样写没有报错,例如

    class BankTpl extends React.Component {
      constructor (props) {
        super(props)
        this.state = {
          active: 0
        }
      }
      componentDidMount () {
        const { location: { query } } = this.props
        this.setMenuActive(query)
      }
      componentWillReceiveProps (nextprops) {
        const { location: { query } } = nextprops
        this.setMenuActive(query)
      }
      setMenuActive = (query) => { //这里直接这样写可以省去在super下面bind(this)
        let active = 0
        if (query.type === 'add') {
          active = 1
        } else if (query.id) {
          active = 1
        }
        this.setState({active})
      }
      render () {
        const { active } = this.state
        const { location: {query} } = this.props
        return (
          <div className={cx(l.contractsBox)}>
            123123
          </div>
        )
      }
    }
    
    export default BankTpl

    这样写可以省略掉在super(props)下面写方法中的bind(this)以前这样写是没有问题的,可以今天操作了重新打包,结果这里就报错,提示如下

    /Users/apple/fescowork/src/routes/setting/BankTpl.js:24:3: 'setMenuActive' is not defined.

    我也不知道是为什么,请问这个怎么解决呢?

    3
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部