已知 React 會渲染指定的 div,學習資料中似乎沒有和外部 DOM 連結的方法?
React 元件渲染的條件是 props 或 state 變更時觸發,所以把 DOM 元素放入到 React 元件的 Props,就能夠滿足此條件,範例程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | const e = React.createElement; class MyComponent extends React.Component { constructor(props) { super(props); this.props.textBox.onchange = () => this.calcCallback(); this.state = { text: "" }; } calcCallback() { this.setState((state, props) => ({ text: this.props.textBox.value })); } render() { return e(React.Fragment, null, e("div", null, this.state.text)); } } ReactDOM.render( e(MyComponent, { textBox: document.querySelector("#textBox1") }, null), document.querySelector("#app2") ); |
HTML
1 2 | <input id="textBox1" value="Hello Vanilla"></input> <div id="app2"></div> |
成果圖
沒有留言:
張貼留言