Ich verwende React und Electron, um eine native App zu erstellen, und möchte einen Dateipfad von meinem Electron-Hauptprozess an eine meiner React-Komponenten übergeben, um HTML in der Datei zu rendern. Ich habe mich dafür entschieden, dies mithilfe von URLs zu tun, also habe ich die folgende Route verwendet:
export default function App() { return ( <Router> <Routes> <Route path="/3D-Graph/*" element={ <UserContext.Provider value={"3D-Graph"}> <GraphApp /> </UserContext.Provider> } /> <Route path="/" element={ <UserContext.Provider value={"2D-Graph"}> <GraphApp /> </UserContext.Provider> } /> </Routes> </Router> ); }
Dann verwende ich dies in der GraphApp-Komponente, um den HTML-Code zu erhalten:
const htmlFile = new URLSearchParams(useLocation().search).get('graph-path')
Wenn ich jedoch diesen Befehl ausführe, erhalte ich die folgende Ausgabe: 将 GET /index.html/3D-Graph/?graph-path=3D-Graph 重写为 /index.html
Ich weiß nicht, ob dies von Electron durchgeführt wird, wenn ich die Funktion „loadURL“ verwende, oder ob es von React während des Routing-Prozesses durchgeführt wird. Wie kann ich das verhindern, damit ich die Anwendung weiterleiten kann? Oder gehe ich das falsch an?
我过去从 main 发送过文件路径,如下所示:
主要:
或者:
渲染:
希望这有帮助!大小写有点奇怪,我是在手机上使用自动更正功能写的:)