首页 > 解决方案 > 执行路由更改功能(使用 HookRouter )

问题描述

我希望 Hookrouter 在路由更改时执行调度(来自减速器)功能。不知怎的,我正朝着错误的方向前进,你能帮帮我吗?如果我在 render 中调用 useRoutes 的结果,它就会开始循环......

import { LeftMenu } from './components/LeftMenu';
import { RightMenu } from './components/RightMenu';
import {A, useRoutes} from 'hookrouter';
import nftReducer from "./reducer/nftReducer"
import { useReducer } from 'react';


function App() {

  const initState ={
    loading : false,
    nft : "",
    id : ""
  }

  const [state, dispatch] = useReducer(nftReducer,initState);

  const routes = {
    '/': () => <LeftMenu />,
    '/Polkamon': () => () => { dispatch({type:"CHANGENFT", nft:"Polkamon" }) },
    '/Chubbies': () => <LeftMenu />,
  };

  const routeResult = useRoutes(routes);

  return (
    <div className="Container">
      <LeftMenu />
      <RightMenu />
      { "HERE " + state.nft }
      <A href="Polkamon">POLKAMON</A>
    </div>
  );
}

export default App;

标签: javascriptreactjs

解决方案


推荐阅读