我知道在香草ES6中,你可以編寫一個class
extend
是一個功能類。這是解釋here。如何編寫擴展功能組件的ES6類React組件?
React支持兩個ES6類組件,通過extend
ing React.Component
和功能組件。儘管如此,嘗試extend
功能組件時出現以下錯誤。
TypeError: Cannot call a class as a function
我試圖寫一個擴展組件和作品都ES6類組件和功能部件的一些代碼。我想編寫一個返回組件的函數,但我只想擴展和修改一些道具,而不是更高階的組件。
以下是我嘗試過的一些示例代碼,無法正常工作。這可能嗎?我意識到BarExtended
根本不會渲染Bar
,但我只是在測試。除非這是問題的一部分。
function Bar() {
return (
<h1>Bar</h1>
);
}
class BarExtended extends Bar {
render() {
return (
<h1>BarExtended</h1>
);
}
}
ReactDOM.render(
<div>
<BarExtended />
</div>,
document.getElementById("foo")
);
陣營建議過繼承組合物。函數可以很容易編寫,所以如果你遺漏繼承,你的問題就會消失。 – naomik