我正在使用 Next.js,我想知道如何在不刷新的情况下更改同一页面上的 url。我正在使用 shallow=true 但它仍然呈现到下一页。
这是我的代码:
<Tabs>
<Tab href='test/1' label='Sample Exam'/>
<Tab href='test/1/exam' label='Test Exam'/>
</Tabs>
<TabPanel value={tabvalue} index={0}>
<SampleComponent />
</TabPanel>
<TabPanel value={tabvalue} index={1}>
<TestComponent />
</TabPanel>
这是逻辑但不起作用
const [tabValue, setTabValue] = React.useState(0);
const router = useRouter();
const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {
setTabValue(newValue);
useEffect(() => {
router.replace('/test/1', '/test/1/exam', { shallow: true});
}, []);
};
我已经测试了 router.push 它不起作用并且 windows 替换状态是一个坏主意。选项卡将如下所示。
Sample Exam | Test Exam
如果您单击样本考试,它将显示与考试相同的样本详细信息,但它必须在同一页面上。
谢谢。