ReactJs将参数传递给父级而不使用事件处理程序

pexxcrt2  于 2023-03-01  发布在  React
关注(0)|答案(2)|浏览(144)

我需要将参数从子组件传递到父组件,而不使用onClick之类的事件处理程序...我的父组件有一个方法,子组件"A"每隔x秒必须将参数传递到父组件的方法。此方法更改父组件的状态,并将此值作为 prop 传递到另一个子组件"B"。我该怎么做?
这是我的代码:

var Parent = React.createClass({
    getInitialState: function() {
        return {
            notification: [ {
                data: "-",
                message: "no notification to show",
                type: "-"
            } ]
        };
    },

    handleNotification: function(res) {
        var notification = this.state.notification;
        notification.push(res);
        this.setState({ notification: notification });
    },

    render: function() {
        return(
            <div>
                <Child callFunction={this.handleNotification} />
                <NotificationBox
                    notification={this.state.notification}
                    />
            </div>
        );
    }
});

var Child = React.createClass({
    displayName: "Child",

    handleReturnNotification: function(o) {
        this.props.callFunction.bind(o);
    },

    render: function() {
        var msg = "message:" ;
        var o = {
            data: "-",
            message: msg,
            type: "Alert"
        };
        this.handleReturnNotification.bind(this, o);

        return (
          <div></div>
        );
    }
});
qxsslcnc

qxsslcnc1#

将父方法作为props传递,在子方法A中执行this.props.parentMethod(parameter);

mec1mxoz

mec1mxoz2#

将函数传递给useEffect()以在onLoad期间触发它:

useEffect(() => {
        props.callFunction()
    }, [someVariable]
 );

相关问题