Reactjs 如何传递道具以响应大型日历自定义组件?

Reactjs 如何传递道具以响应大型日历自定义组件?,reactjs,react-big-calendar,Reactjs,React Big Calendar,我正在使用带有自定义事件组件的React Big Calendar 在我的自定义组件中,我需要显示一些用户可以单击的按钮(通过popover)。 我可以很好地使用弹出窗口,但我也希望在单击弹出窗口中的按钮时,能够通知呈现BigCalendar的类。如何将“onButtonClick”事件作为道具传递给我的自定义组件? 这是我的代码的简化版本 class Parent extends Component { popoverButtonClickHandler = (e) => {

我正在使用带有自定义事件组件的React Big Calendar

在我的自定义组件中,我需要显示一些用户可以单击的按钮(通过popover)。 我可以很好地使用弹出窗口,但我也希望在单击弹出窗口中的按钮时,能够通知呈现BigCalendar的类。如何将“onButtonClick”事件作为道具传递给我的自定义组件? 这是我的代码的简化版本

class Parent extends Component {

    popoverButtonClickHandler = (e) => {
        //handle button click
    }

    render() {
        return (
            <BigCalendar
                ...
                events={myEvents}
                components={{
                    event: CustomEvent
                }}
            />
        );
    }
}
发送到my CustomEvent,以便在单击按钮时通知家长

有什么办法可以做到这一点吗?
谢谢

好的,在查看了GitHub上的应用程序后,我成功地实现了这一点

class Parent extends Component {

    popoverButtonClickHandler = (e) => {
        //handle button click
    }

    render() {
        return (
            <BigCalendar
                ...
                events={myEvents}
                components={{
                    event: CustomEventContainer({
                        onPopoverButtonClick: this.popoverButtonClickHandler
                    })
                }}
            />
        );
    }
}
类父级扩展组件{
popoverButtonClickHandler=(e)=>{
//手柄按钮点击
}
render(){
返回(
);
}
}
这是CustomEventContainer和CustomEvent

const CustomEventContainer = ({ onPopoverButtonClick }) => props => {
    return <CustomEvent event={props} onPopoverButtonClick={onPopoverButtonClick} />;
}

const CustomEvent = React.memo((props) => {

    //...
    return (
        <div>
            <Button content='View' onClick={(e) => props.onPopoverButtonClick(e)} />
        </div>
    );
})
constCustomEventContainer=({onPopoOverButtonClick})=>props=>{
返回;
}
const CustomEvent=React.memo((道具)=>{
//...
返回(
props.onPopoOverbuttonClick(e)}/>
);
})

您是否尝试过这样传递组件
components={{event:}
@AlexandrZavalii我认为这不起作用……它会抛出运行时错误。我通过下面的解决方案实现了这一点。不过还是要感谢您的调查:-)
class Parent extends Component {

    popoverButtonClickHandler = (e) => {
        //handle button click
    }

    render() {
        return (
            <BigCalendar
                ...
                events={myEvents}
                components={{
                    event: CustomEventContainer({
                        onPopoverButtonClick: this.popoverButtonClickHandler
                    })
                }}
            />
        );
    }
}
const CustomEventContainer = ({ onPopoverButtonClick }) => props => {
    return <CustomEvent event={props} onPopoverButtonClick={onPopoverButtonClick} />;
}

const CustomEvent = React.memo((props) => {

    //...
    return (
        <div>
            <Button content='View' onClick={(e) => props.onPopoverButtonClick(e)} />
        </div>
    );
})