React筆記 -- 組件傳值

通信問題

組件會發(fā)生三種通信。

  • 向子組件發(fā)消息
  • 向父組件發(fā)消息
  • 向其他組件發(fā)消息

React 只提供了一種通信手段:傳參。對于大應用,很不方便。

#組件通信的例子

#步驟1

class Son extends React.Component {
  render() {
    return <input/>;
  }
}

class Father extends React.Component {
  render() {
    return <div>
      <Son/>
      <p>這里顯示 Son 組件的內(nèi)容</p>
    </div>;
  }
}

ReactDOM.render(<Father/>, mountNode);

看這個例子,想一想父組件如何拿到子組件的值。

#步驟2

class Son extends React.Component {
  render() {
    return <input onChange={this.props.onChange}/>;
  }
}

class Father extends React.Component {
  constructor() {
    super();
    this.state = {
      son: ""
    }
  }
  changeHandler(e) {
    this.setState({
      son: e.target.value
    });
  }
  render() {
    return <div>
      <Son onChange={this.changeHandler.bind(this)}/>
      <p>這里顯示 Son 組件的內(nèi)容:{this.state.son}</p>
    </div>;
  }
}

ReactDOM.render(<Father/>, mountNode);
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 前言 您將在本文當中了解到,往網(wǎng)頁中添加數(shù)據(jù),從傳統(tǒng)的dom操作過渡到數(shù)據(jù)層操作,實現(xiàn)同一個目標,兩種不同的方式....
    itclanCoder閱讀 26,238評論 1 12
  • 作為一個合格的開發(fā)者,不要只滿足于編寫了可以運行的代碼。而要了解代碼背后的工作原理;不要只滿足于自己的程序...
    六個周閱讀 8,663評論 1 33
  • 目前,react組件有三種寫法,分別是es5的createClass寫法,es6的class寫法,以及statel...
    ZoomFunc閱讀 1,907評論 0 1
  • 窗外的紫羅蘭 別擔心 我不會摘下你的美 去送給我最愛的人 我不知道原因 你也別問我為何 美景雖在 卻不見佳人 請你...
    人家故里閱讀 318評論 0 0
  • 昨天和娃爸合作整理了一天的房間,一倒騰沒歸置完反而比之前更亂,忙乎了好久,終于局部比較規(guī)整,有模有樣的,很提氣。雜...
    丹桂飄香之秋閱讀 533評論 0 1

友情鏈接更多精彩內(nèi)容