React可以將原型分配給子組件,而不是傳遞槽道具? 我們可以做這樣的事情:我們可以給兒童組件分配原型嗎?
import React, { Component } from 'react'
import Child from './Child'
export default class Parent extends Component {
constructor(){
super()
this.parentMethod = this.parentMethod.bind(this)
}
parentMethod() {
// this method is going to be assigned to Child
console.log('I am invoked from child')
}
render() {
Child.prototype = this.parentMethod
// now
return <Child />
}
}
//Child.js
import React, { Component } from 'react'
export default class Child extends Component {
constructor() {
super()
}
handleButton() {
this.parentMethod()
}
render() {
return (
<button onClick={this.handleButton.bind(this)} > click </button>
)
}
}
我不是很肯定,如果我做錯了什麼,但代碼的作品?
您有幾種選擇在這裏 - 家長可以通過兩種道具傳遞函數來從子組件調用。或者,如果您有幾個組件可能會或可能不是父級的孩子,但仍然需要該功能 - 您可以創建更高級別的組件(HOC)。 簡而言之,HOC需要一個組件並返回一個添加了功能的新組件。 https://egghead.io/lessons/react-react-fundamentals-higher-order-components-replaces-mixins https://facebook.github.io/react/docs/higher-order-components.html –