在react中自定義的組件中如果我們想綁上點擊click事件時,加上onClick={}並不會起作用。
因為我們自定義的組件,並不是一個真實的DOM元素,它不存在點擊事件,因為它不是最終渲染的頁面的元素。
這時候我們需要在最底層真實的DOM元素上綁定,如下
<div onClick={this.props.onClick}/>
如果我們只封裝一層這樣綁定還好,如果是多層而且多個屬性,那每一層都要寫大量代碼,這時候就可以用{...this.props}
案例 Father——>Middle——>Child
class Child extends React.Component{ render(){ return( <ul> <li>{this.props.name}</li> <li>{this.props.age}</li> <li>{this.props.sex}</li> </ul> ) } } class Middle extends React.Component{ render(){ return( <Child name={this.props.name} age={this.props.age} sex={this.props.sex}/> ) } } // {...this.props}擴展賦值,一一對應 class Father extends React.Component{ render(){ return( <Middle {...this.props} /> ) } }
最后調用Father組件時
<Father name="Jack" age="18" sex="boy"/>