Call a React component method from outside

前端 未结 11 1575
灰色年华
灰色年华 2020-11-28 04:56

I want to call a method exposed by a React component from the instance of a React Element.

For example, in this jsfiddle. I want to call the alertMessage

11条回答
  •  误落风尘
    2020-11-28 05:23

    I use this helper method to render components and return an component instance. Methods can be called on that instance.

    static async renderComponentAt(componentClass, props, parentElementId){
             let componentId = props.id;
            if(!componentId){
                throw Error('Component has no id property. Please include id:"...xyz..." to component properties.');
            }
    
            let parentElement = document.getElementById(parentElementId);
    
            return await new Promise((resolve, reject) => {
                props.ref = (component)=>{
                    resolve(component);
                };
                let element = React.createElement(componentClass, props, null);
                ReactDOM.render(element, parentElement);
            });
        }
    

提交回复
热议问题