Админ Dynami c макет с реагировать - PullRequest
0 голосов
/ 17 марта 2020

Привет, ребята, я пытаюсь сделать макет администратора, используя реагировать, но проблема заключается в добавлении маршрутов:

компонент приложения:

function App() {
  return (
    <div className="App">
      <Admin dashboard={DashBoard}>
        <Resources view={Cp} name="hello" icon={"DashBoard"} />
      </Admin>
    </div>
  );
}

здесь у меня есть компонент администратора с реквизитами панели мониторинга как компонент и дочерние ресурсы: Компонент Admin:

const Admin = ({ children, dashboard }) => {
  const dispatch = useDispatch();
  useEffect(() => {
    if (dashboard)
      dispatch(addRoute({ path: "/", name: "dashboard", icon: "Dashboard" }));
  }, []);
  return (
    <Router history={history}>
      <div className="admin">
        <SideBar />
        <div className="content">
          <Switch>
            <Route path="/" exact component={dashboard} />
          </Switch>
        </div>
      </div>
    </Router>
  );
};

Я использую Redux, поэтому здесь, когда администратор выполняет рендеринг, будет отправлено действие по добавлению маршрута в хранилище Redx, которое будет использоваться для отображения ссылок на боковой панели. но проблема в том, что дочерние элементы отображаются внутри коммутатора, это дочерние ресурсы:

const Resources = ({ icon, name, view, edit }) => {
  const dispatch = useDispatch();

  useEffect(() => {
    dispatch(addRoute({ name, icon, path: `/${name}` }));
  }, []);
  return (
    <div>
      {view && <Route path={`/${name}`} component={view} />}
      {edit && <Route path={`/${name}/edit`} component={edit} />}
    </div>
  );
};

эти ресурсы принимают реквизиты и отображают маршруты в зависимости от этого действия реквизиты + диспетчеризация для добавления маршрутов в хранилище. но проблема в том, что когда я перехожу к "/", отправка ресурсов не запускается, а маршруты доступны. и когда я перемещаюсь для маршрутизации ресурсов с URL-адреса браузера, он отправляет действие ресурсов до того, как администратор отправит действие, и это приведет к тому, что боковая панель не будет правильно отображать ссылки.

, пожалуйста, помогите решить проблему и решить проблему. спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...