javascript - 我们可以用 4Catalyzer/found 的 'withRouter' HOC 包装非反应函数吗?
问题描述
这是我试图运行的代码:
import { withRouter } from 'found';
const routeToUrl = props => props.router.push(props.path);
export default withRouter(routeToUrl);
其中 withRouter 是 HOC fromcatalyzer/found
包装现有组件类或函数并注入match
和router
道具,如上面的路由组件。您可以使用此 HOC 创建在事件处理程序中以编程方式导航的组件。 https://github.com/4Catalyzer/found#programmatic-navigation
我有点不清楚 的含义route components
。不是routeToUrl
路由组件是它不起作用的原因吗?
收到错误:
react.development.js?99ee:428 Uncaught (in promise) TypeError: Cannot set property 'props' of undefined
at Component (react.development.js?99ee:428)
at withRouter(routeToUrl) (connectAdvanced.js?4805:109)
谢谢!
解决方案
withRouter 需要上层上下文中的Router
您需要重定向组件还是只需要使用 location.path ?
推荐阅读
- r - 卸载 R 包并释放内存
- java - 当我的查询满足预期条件时,如何使用 JSON PATH 获取整个 json 对象
- angular - 使用 rxjs 对添加到 Firestore 集合的自定义属性进行排序/分组
- javascript - 我想在 html 页面中添加弹出窗口。示例位于 www.pu.edu.pk(在线录取)
- html - 为什么最小高度将 div 拉伸到页面的全长?
- arrays - 在 go 中删除或调整数组大小
- python - JetBrains 中的 Python 2 类型代码完成?
- google-chrome-extension - 在安装后出现的弹出窗口中更改默认文本
- powershell - Invoke-Sqlcmd - 如何向包含冒号的 SQL 提供变量
- javascript - .html 仅返回内部内容