显示title

通过操纵 props.title 显示 title的名字,而不是在括号外自我添加。

  1. function Button(props) {
  2. return (<button>{props.title}</button>);}
  3. function App(props) {
  4. return (<Button title={"hello"} />);}
  5. ReactDOM.render(<App />, document.getElementById('root'))

定义defaultHandler显示结果

(1)通过箭头方法定义 defaultHandler
(2) 箭头方法定义事件的点击,如果自身有值,则返回值是自己,如果没有,返回值为defaultHandler
(3) 处理事件 handler(event)
(4) 返回点击的属性和 title

  1. function Button(props) {
  2. const defalutHandler = () => { console.log('defalut handler')}
  3. const onClick = evt => {const handler = props.onClick || defalutHandler
  4. handler(evt) }
  5. return (<button onClick={onClick}>{props.title}</button>);}
  6. function App(props) {
  7. return (<Button title={"hello"} />);}
  8. ReactDOM.render(<App />, document.getElementById('root'))

结果:点击button ,显示 defaultHandler

多层嵌套显示结果

Button定义 defaultHandler 和 onClick 。
HelloButton 定义调用handler的方法,显示 hilt ,返回 onClick 和 title。
App调用 HelloButton 的方法

  1. function Button(props) {
  2. const defalutHandler = () => { console.log('defalut handler')}
  3. const onClick = evt => {const handler = props.onClick || defalutHandler
  4. handler(evt)}
  5. return ( <button onClick={onClick}>{props.title}</button>);}
  6. function HelloButton(props){
  7. const handler = (evt) => {alert('hilt')}
  8. return(<Button onClick={handler} title={'Hi'} />);}
  9. function App(props) {
  10. return (<HelloButton />);}
  11. ReactDOM.render(<App />, document.getElementById('root'))