最佳答案
我想从 React Element 的实例中调用一个由 React 组件公开的方法。
例如,在这个 Jsfiddle中,我想从 HelloElement
引用调用 alertMessage
方法。
有没有一种方法可以实现这一点,而不必编写额外的包装器?
编辑 (从 JSFiddle 复制代码)
<div id="container"></div>
<button onclick="onButtonClick()">Click me!</button>
var onButtonClick = function () {
//call alertMessage method from the reference of a React Element! Something like HelloElement.alertMessage()
console.log("clicked!");
}
var Hello = React.createClass({displayName: 'Hello',
alertMessage: function() {
alert(this.props.name);
},
render: function() {
return React.createElement("div", null, "Hello ", this.props.name);
}
});
var HelloElement = React.createElement(Hello, {name: "World"});
React.render(
HelloElement,
document.getElementById('container')
);