react父元件傳子元件(資料傳遞)
阿新 • • 發佈:2019-02-18
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://cdn.bootcss.com/react/16.4.0/umd/react.development.js"></script> <script src="https://cdn.bootcss.com/react-dom/16.4.0/umd/react-dom.development.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.26.0/babel.min.js"></script> <title>Document</title> </head> <body> <div id="app"></div> <script type="text/babel"> class Demo extends React.Component{ constructor(props){ super(props) this.state={ type:"text", str:"hehe", arr:[0,1,2,3,4], obj:{name:'888',age:'666'}, aaa:"" } } tap3(){ this.setState({aaa:this.refs.chuan.value}) //console.log(this.refs.chuan.value) } render(){ return( <div> <h1>0000</h1> <input type="text" ref="chuan"/><button onClick={this.tap3.bind(this)}>傳給子</button> <hr/> <Demo2 data={this.state.aaa}/> </div> ) } } //子元件 class Demo2 extends React.Component{ //console.log(this.props) constructor(props){ super(props) } render(){ return( <div> <h1>{this.props.data}</h1> </div> ) } } ReactDOM.render(<Demo/>,document.getElementById("app")) </script> </body> </html>