javascript - 如何使用 Next.js Router.push 传递初始状态?
问题描述
我有一个onClick
事件处理程序,当单击图表上的数据点时触发。图上有两条曲线,根据单击的曲线,我希望子组件设置初始状态。例如,单击curve1
并将其设置为下一个组件中的初始状态,对于curve2
.
使用我在道具中使用处理程序recharts
渲染几个Line
组件:onClick
activeDot
<Line
name={properties.prettyName}
isAnimationActive={true}
activeDot={{
onClick: (data) =>
changeURLView(data)
}}
type="linear"
key={properties.key}
dataKey={properties.dataKey}
stroke={properties.color}
/>
和changeURLViewScan
处理程序:
const changeURLView = (data) => {
// I can check which curve the datapoint belongs to here
const sID: string = data.payload.id
router.push(
'/p/[pID]/s/[sID]',
router.asPath + `/s/${sID}`
)
}
React Router 有一个generatePath
功能可以让你将 props 传递给下一个组件,但是我看不到 Next.js 可以实现这一点。
Next/Router
确实允许您传递查询参数,但我不希望在 URL 中使用它。我希望能够单击曲线并根据单击的曲线填充下一个组件的初始状态。我也许可以拥有一个道具initialCurveState
并以这种方式设置组件状态,但问题仍然存在 - 如何使用 Next.js 传递道具或设置初始状态?
解决方案
推荐阅读
- node.js - NodeJS mp3 流在浏览器中不起作用
- html - 保存后在表格行上设置 ng-readonly="true"
- microservices - 微服务中的复合/聚合服务
- visual-studio - VS2019 MSTest V2 未在测试资源管理器中显示发现的单元测试
- rust - 如何执行与 LLVM 前端可执行文件兼容的机器 shellcode 的原始字节
- c# - 关于实例化的建议?
- regex - Ansible - 在文件中搜索正则表达式字符串
- azure - 将域名连接到azure vm的ip
- r - 访问 r 的 mutate 函数中的所有未知列
- python - 如何通过使用 for 循环添加现有列表来创建新列表