我將這個示例代碼放在一起,想知道爲什麼React拋出一個錯誤。我試圖將此解釋爲使用React.Component的後代的替代方法。與React.Component一起使用Object.assign
const App = ({children}) => (
<div className="app">
{ children }
</div>
);
const Example = Object.assign(
{},
React.Component,
{
render() {
return (
<h1>Does this work?</h1>
);
}
}
);
ReactDOM.render(
<App>
<Example />
</App>,
document.querySelector('#target')
);
的真正的問題是爲什麼你甚至預期它的工作。 'React.Component'是一個構造函數。如果你想擴展react組件,使用'class Example extends React.Component'。 – dfsq
關鍵是要遠離'createClass'並使用'Component'的類擴展來真正使用組合而不是繼承。通過擴展'React.Component'構造函數,您可以創建似乎不可避免的僞類的後代。我曾希望得到一個解釋,而不是框架不支持該功能。 – RKichenama