Я пытаюсь включить REACT Router в свой расширение браузера Firefox, чтобы иметь возможность отображать разные страницы во всплывающем окне расширения. Тем не менее, я продолжаю получать предупреждение, вы должны позвонить в navigate () в react.useeffect (), а не в том случае, когда ваш компонент сначала отображается. , что заставляет маршрутизатор React игнорировать попытку навигации. Я использую предоставленную ссылку Rout Router компонент, который, по -видимому, мне кажется полностью согласованным с оказанием в курсе. Примечательно, что, как и в моей собственной реализации, документация предполагает, что использование Link устраняет любую необходимость использования использования или прослушивания изменения состояния. Однако это вообще не изменило результат. Ниже приведен соответствующий код. < /P>
Как я могу исправить свой код, чтобы расширение браузера перемещалось во всплывающем окне? Что -то не так с моей реализацией, или это ограничение расширений Firefox, которое предотвращает навигацию с помощью React Router?import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom"
import { StaticRouter as Router, Routes, Route, Link } from "react-router";
import Button, { ButtonType } from "./ui/widgets/Button.jsx";
/* ********* *
* CONSTANTS *
*************/
const PATH_ROOT = "/";
const PATH_OPTIONS = "/options"
/* **************** *
* REACT COMPONENTS *
********************/
function MainMenu() {
const [rendered, setRendered] = useState(false);
console.log("Rendering...");
const menu =
Options
useEffect(() => {
setRendered(true);
console.log("Rendered!");
}, [])
return menu;
}
function OptionsMenu() {
console.log("Attempting to render OptionsMenu");
return
Options
Back
}
function Error() {
console.log("Attempting to render ErrorMenu");
return Error: URL not found
}
function PopupApp() {
return
}
export default PopupApp;
Подробнее здесь: https://stackoverflow.com/questions/797 ... pup-window