我有一个使用</Outlet>
在App
内呈现的Page
组件.在Page
组件中,我想使用App
中设置的状态(通过搜索input
提供的简单文本).
我能够在从App
执行的Page
挂载期间通过navigate("/page", { state: { searchQuery } });
发送和接收状态,但不幸的是,当searchQuery
的状态改变时,这种方法失败了.
有没有一种简单的机制可以让Page
监听Reaction路由V6中App selectQuery
状态的变化?如果有,解决方案是什么?
// index.tsx
const router = createBrowserRouter(
createRoutesFromElements(
<Route path="/" element={<App />}>
<Route path="page" element={<Page />}></Route>
</Route>
)
);
// App.tsx
function App() {
const [searchQuery, setSearchQuery] = useState<string>("");
return (
// ...
<AppBar component="nav">
// Input text field which sets setSearchQuery onChange
</AppBar>
// ...
<Outlet />
// ...
}
// Page.tsx
function Page() {
//...
return (
// ...
// usage of a App searchQuery
// ...
}