子元件到父元件

將資料傳送回父級,為此,我們只需將一個函式作為 prop 從父元件傳遞給子元件子元件呼叫該函式

在此示例中,我們將通過將函式傳遞給 Child 元件並在 Child 元件內呼叫該函式來更改 Parent 狀態。

import React from 'react';

class Parent extends React.Component {
    constructor(props) {
        super(props);
        this.state = { count: 0 };

        this.outputEvent = this.outputEvent.bind(this);
    }
    outputEvent(event) {
        // the event context comes from the Child
        this.setState({ count: this.state.count++ });
    }

    render() {
        const variable = 5;
        return (
            <div>
                Count: { this.state.count }
                <Child clickHandler={this.outputEvent} />
            </div>
        );
    }
}

class Child extends React.Component {
    render() {
        return (
            <button onClick={this.props.clickHandler}>
                Add One More
            </button>
        );
    }
}

export default Parent;

請注意,Parent 的 outputEvent 方法(更改父狀態)由 Child 的按鈕 onClick 事件呼叫。