gpt4 book ai didi

reactjs - OnsenUI Navigator + React 导航失败

转载 作者:行者123 更新时间:2023-12-03 14:10:25 25 4
gpt4 key购买 nike

由于标题中提到的问题,我已经用头撞墙好几天了。我试图使用 Onsen UI 和 React 来实现导航功能。但是,在我单击导航后,UI 导航到空白页面,并立即返回到第一页。下面是我的代码。

import React from "react";
import { Page, Navigator, Button, SearchInput } from "react-onsenui";

function EditorView() {
return <Page>This is the editor page!</Page>;
}

function SearchBar() {
return <SearchInput placeholder="Search" />;
}
const switchToEditorView = navigator => {
navigator.pushPage({ component: EditorView, props: { key: "editorPage" } });
};

function App() {
return (
<Navigator
renderPage={(route, navigator) => (
<Page key={route.title}>
<SearchBar />
<Page className="custom_page_wrapper">
<Button onClick={() => switchToEditorView(navigator)}>
Click to navigate
</Button>
</Page>
</Page>
)}
initialRoute={{ component: App, props: { key: "firstPage" } }}
/>
);
}
export default App;

codesandbox 可以使用: https://codesandbox.io/s/festive-lichterman-okme5?file=/src/App.js:0-828

如何克服?

最佳答案

代码中的问题是您在导航器中呈现一个常量页面,而您必须呈现您传递的页面组件

import React from "react";
import { Page, Navigator, Button, SearchInput } from "react-onsenui";

function EditorView() {
return <Page>This is the editor page!</Page>;
}

function SearchBar() {
return <SearchInput placeholder="Search" />;
}
const switchToEditorView = navigator => {
navigator.pushPage({ component: EditorView, props: { key: "editorPage" } });
};

function Main({ navigator, title, ...rest }) {
return (
<Page key={title}>
<SearchBar />
Hello
<Page className="custom_page_wrapper">
<Button onClick={() => switchToEditorView(navigator)}>
Click to navigate
</Button>
</Page>
</Page>
);
}

function App() {
return (
<Navigator
renderPage={(route, navigator) => (
<route.component navigator={navigator} {...route.props} />
)}
initialRoute={{ component: Main, props: { key: "firstPage" } }}
/>
);
}
export default App;

<强> Working demo

关于reactjs - OnsenUI Navigator + React 导航失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61172114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com