代码之家  ›  专栏  ›  技术社区  ›  Mike

首选ES6箭头函数语法格式

  •  1
  • Mike  · 技术社区  · 7 年前

    我有一个 onChange 正在形成如下形状的事件处理程序:

    (e) => (value => this.setState(prevState => ({
            form: {
                ...prevState.form,
                email: value
            }
        })))(e.target.value)
    

    我把它缩小到这个

    (e) => {
        let value = e.target.value;
        this.setState((prevState) => ({
            form: {
                ...prevState.form,
                password: value
            }
        }))
    }
    

    谢谢

    3 回复  |  直到 7 年前
        1
  •  3
  •   Mike    7 年前

    您可以从事件中解构出值,只需执行 setState 作为唯一的陈述。

    ({ target: { value } }) => this.setState(prevState => ({
      form: {
        ...prevState.form,
        password: value
      }
    }));
    
        2
  •  1
  •   Jackson    7 年前

    e => {
        let value = e.target.value;
        this.setState({
            form: {
                ...this.state.form,
                password: value
            }
        });
    }
    
        3
  •  1
  •   Jee Mok ecanf    7 年前

    只是另一个想法:)

    event => {
       const password = event.target.value;
       const form = { ...this.state.form, password };
       this.setState({ form });
    }