將React Hooks 整合到現有的React 類別元件中
正如您所注意到的,React hooks 提供了另一種管理狀態和邏輯的方法反應應用程式。然而,您可能希望逐步遷移現有的基於類別的元件以接受鉤子的優勢。
幸運的是,有一個解決方案可以解決這個挑戰:高階組件(HOC)。 HOC 提供了一種使用注入基於鉤子的功能的函數來包裝類別組件的方法。
使用Hooks 創建HOC
創建集成React 的HOC鉤子,按照以下步驟操作:
範例:
假設你有一個名為MyDiv 的類別元件:
class MyDiv extends React.component { constructor(){ this.state={sampleState:'hello world'} } render(){ return{this.state.sampleState}} }
要為 MyDiv 新增基於鉤子的狀態,您可以建立一個 HOC:
function withMyHook(Component) { return function WrappedComponent(props) { const myHookValue = useMyHook(); return; } }
整合 HOC
class MyComponent extends React.Component { render(){ const myHookValue = this.props.myHookValue; return現在,您可以使用 withMyHook HOC 包裝 MyDiv 類別元件:{myHookValue}; } } export default withMyHook(MyComponent);
class MyComponent extends React.Component { 使成為(){ const myHookValue = this.props.myHookValue; 返回
透過使用此技術,您可以逐漸將 React hook 整合到現有的基於類別的程式碼庫中,而無需進行大量重構。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3