我的基本內容是HOC如連接(用於與redux存儲庫連接)和其他HOC在將組件導出時應用於組件。爲什麼在組件導出期間應用HOC而不是導入組件
像這樣
import React, { Component } from 'react';
import './App.css';
import myHoc from './myHoc/index';
class App extends Component {
render() {
return (
<div className="App">
</div>);
}
}
export default myHoc({})(App);
凡作爲一個更好的事情是在導入過程中應用HOC,因爲它會更容易使可重用的組件。相同的組件可以從商店或道具中挑選道具,並且由父組件負責檢查要將哪些HOC應用於組件。
我知道我們可以利用這需要組件容器組件和渲染孩子,但只是添加代碼的JSX(不會好看,如果有許多容器組件)
雖然我們可以做這樣的
import React, { Component } from 'react';
import './App.css';
import myHoc from './myHoc/index';
import AppChild from './AppChild';
const NewAppChild = myHoc({},()=> {
})(AppChild);
class App extends Component {
state = {
count: 1,
};
reRender =() => {
this.setState({count: this.state.count + 1});
};
render() {
return (
<div className="App">
<NewAppChild handleClick={this.reRender} count={this.state.count}/>
</div>
);
}
}
export default App;
我的問題是,有沒有更好的辦法可以處理這種情況,我希望將我的HOC應用於導入,即每個容器組件都可以導入它,並且可以根據需要應用不同的HOC 。