javascript - 如何在reactjs中正确地从页面路由到另一个页面
问题描述
我正在尝试使用链接路由到编辑页面
<Link
to={`/update/${ad._id}`}
className="btn btn-xs btn-round btn-o btn-green dropdown-toggle"
>
<span className="fa fa-pencil"></span>
Edit
</Link>
在目标组件中,我正在componendDidMount
使用如下自定义函数加载一些 javascript 文件
this.loadScript('js/jquery-2.1.1.min.js');
资源
loadScript(src) {
const script = document.createElement("script");
script.src = src;
script.async = false;
document.body.appendChild(script);
}
然而,当页面加载时,我可以在控制台中发现许多错误,类似于
GET http://localhost:3000/update/js/bootstrap.js net::ERR_ABORTED 404 (Not Found)
我猜它应该已经加载http://localhost:3000/js/bootstrap.js
,而不是注意到文件加载的路径类似于这种模式/somepage
但不是/somepage/:id
这是正在使用的路由器
可能是什么问题 ?
解决方案
只是改变
this.loadScript('js/jquery-2.1.1.min.js');
至:
this.loadScript('/js/jquery-2.1.1.min.js'); // note the beginning slash
在路由概念中,当不以斜线开头的路由被认为是“相对路径”,但如果它有一个起始斜线,它将被用作“绝对路径”。
推荐阅读
- python - 在电子邮件中呈现 html 时的奇怪行为
- python - 根据计算扩展 Pandas 列以分隔行
- c# -
不包含 GetAwaiter 的定义 - 如何重写此方法 - scala - 如何将 ByteBuffer 转换为 BLOB 作为 spark sql 流的一部分?(斯卡拉)
- next.js - 输入类型文件未在 Tailwind 模式中打开
- mysql - 为什么在尝试使用带有命令行参数的 InstallerConsole 静默安装 MySQL 服务器时出现异常
- python - 用 HDBSCAN 聚类相似的行
- python-3.x - TensorFlow 在训练、保存、加载编码器-解码器模型时出现 @tf.function 问题
- python - Python:使用 Selenium 获取元素
- c - 无法编译定义新系统调用的内核模块