【问题标题】:react insert data with input将插入数据与输入反应
【发布时间】:2017-01-30 20:58:15
【问题描述】:

我刚接触 ReactJS。我在学习它时遇到了很多问题,每次我在使用它时失去动力。 我想通过输入将数据插入到 h1 中。我遵循了一些教程,搜索了一些代码,但我无法使其工作。

export default class Header extends React.Component{
    
    constructor(){
        super();
        this.state={title:''};
        this.handleChange = this.handleChange.bind(this);
        this.changeHtml = this.changeHtml.bind(this);
    }

    changeHtml(title){
        this.setState({title:title});
    }
      
    handleChange(event){
        const textInput = event.target.value;
        this.props.changeHtml(textInput);
    }
      
    render(){
            
        return (
            <div>
                <h1 title={this.props.title} changeHtml={this.changeHtml} > </h1>
                <label>
                    Name: <input type="text" name="name"   onChange={this.handleChange} />
                </label>
            </div>
        );
    }
}

你能告诉我 state 和 props 之间的区别是什么吗?它们实际上是什么意思或指的是什么(例如:输入或其他东西) 我不知道我是否应该跟上反应或学习另一种语言,例如角度

【问题讨论】:

  • this.setState({ title: '' });支持它是组件的属性,并作为属性从状态传递到组件。声明它是您的应用程序的“单例”类状态
  • 单身是什么意思?
  • Props 由父级设置,并且在组件的整个生命周期内都是固定的。对于即将发生变化的数据,我们必须使用状态

标签: javascript reactjs input


【解决方案1】:

我从您的代码中删除了一些样板,我想它可以帮助您作为起点,但您需要了解“状态”和“道具”的真正含义。 https://jsfiddle.net/69z2wepo/68722/

class Header extends React.Component{

constructor(){
    super();
    this.state={title:''};
    this.handleChange = this.handleChange.bind(this);
}

handleChange(event){
    const textInput = event.target.value;
    this.setState({title:textInput});
}

render(){
        return (
            <div>
               <h1>{this.state.title}</h1>
                    <label>Name:
               <input type="text" onChange={this.handleChange} />
                    </label>
            </div>);
    }
}

ReactDOM.render(
  <Header />,
  document.getElementById('container')
);

【讨论】:

  • 效果很好,谢谢,最后一个问题是你建议跟上 reactjs 还是切换到 angular2 我读到 react js 更容易学习,但我想听听你的意见:c
  • 一开始,我开始学习 Angular,但为了工作,我不得不学习和使用 React,现在我已经习惯了,而且我是 React 的忠实粉丝。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 2018-11-16
  • 2020-10-13
  • 2020-06-05
  • 1970-01-01
相关资源
最近更新 更多