为了账号安全,请及时绑定邮箱和手机立即绑定

REACT:翻译组件 | 设置和访问状态

REACT:翻译组件 | 设置和访问状态

料青山看我应如是 2022-06-16 14:40:54
我正在创建一个 REACT 组件,该组件通过基本上获取用户的输入并使用简单的键值对访问翻译来“翻译”一个数字。除了我的 handleTranslate 方法外,一切正常。此方法的控制台日志给我未定义。class MyComponent extends React.Component {  constructor(props) {    super(props);    this.state = {      input: '',      one: 'uno',      two: 'dos',      three: 'tres',      four: 'cuatro',      five: 'cinco',      six: 'seis',      seven: 'siete',      eight: 'ocho',      nine: 'nueve',      ten: 'diez',      answer: ''    };    this.handleChange = this.handleChange.bind(this);    this.handleTranslate = this.handleTranslate.bind(this);  };    handleChange(state) {    this.setState({      input: event.target.value    });  }  handleTranslate (state) {    var x = state.input;    this.setState({      answer: state.x    });  }    render () {  return(  <div>      <h3>Enter an English number between one and ten and watch the translation render below</h3>      <input value={this.state.value} onChange={this.handleChange, this.handleTranslate}/>      <p>{this.state.input}</p>  </div>  );  }};ReactDOM.render(<MyComponent/>, document.getElementById('view'));<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script><div id='view' />
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

使用一个处理函数event就可以了


class App extends React.Component {

  constructor(props) {

    super(props);

    this.state = {

      input: "",

      one: "uno",

      two: "dos",

      three: "tres",

      four: "cuatro",

      five: "cinco",

      six: "seis",

      seven: "siete",

      eight: "ocho",

      nine: "nueve",

      ten: "diez",

      answer: ""

    };

    this.handleChange = this.handleChange.bind(this);

  }


  handleChange(event) {

    this.setState({

      input: event.target.value

    });

    this.setState({

      answer: this.state[event.target.value]

    });

  }

  render() {

    return (

      <div>

        <h3>

          Enter an English number between one and ten and watch the translation

          render below

        </h3>

        <input value={this.state.value} onChange={this.handleChange} />

        <p>{this.state.input}</p>

        <p>{this.state.answer}</p>

      </div>

    );

  }

}


ReactDOM.render(<App />, document.getElementById("root"));

<div id="root"></div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.12.0/umd/react.production.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.12.0/umd/react-dom.production.min.js"></script>



查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号