- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 NextJs useRouter 时遇到问题。
我有一个在路径之间导航的函数,我使用 useRouter 来做到这一点,我在一个包含数组对象的库中写道:
router = useRouter()
const actions = [
{
...
perform: (e) => router.push('/'),
...
}
]
但它会导致错误 TypeError: Cannot read properties of null (reading 'useContext')
2 | import {useRouter} from 'next/router'
3 |
> 4 | const { router } = useRouter()
| ^
5 |
6 | const actions = [
7 | {
我将这个库导入到另一个组件,这就是 _app.js
的样子:
...
<div className={'webkit selection'+theme}>
<CmdBar theme={theme}/> => this is where the library imported in
<Metatags description='null'/>
<StyleReset/>
<Component themeUse={themeUse.styles} theme={theme} {...pageProps} />
<Bar theme={theme} setTheme={setTheme} setThemeUse={setThemeUse} themeProvider={themeProvider}/>
</div>
...
我之前在 React 和 React Router 中使用 useLocation
时遇到过这个错误,因为组件在 Route 之外。我认为这是造成这些的主要原因。
已编辑:如果我使用任何可以刷新页面的东西,它不会保持相同的 UI,所以这就是我想弄清楚的。
谢谢!
最佳答案
您好,问题的发生是因为您在顶层使用了 react Hook 。相反,您应该在 React Functional 组件中使用钩子(Hook)。
像这样:
import { useRouter } from 'next/router'
function ActiveLink({ href }) {
const router = useRouter()
return (
<a href={href}>
This will redirect
</a>
)
}
export default ActiveLink
我建议你通过,Rules of Hooks
关于reactjs - 我在使用 NextJs useRouter 时遇到了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72067405/
我正在尝试在 Next.JS 中学习路由,但我无法获得查询对象。 文件路径:./src/pages/[test]/index.tsx import { useRouter } from 'next/r
我正在 Next.JS 中制作一些专门的日历应用程序,我在动态路由方面遇到了一些我似乎无法弄清楚的问题。我有两个具有相似路由的相似页面,其中一个工作得很好,另一个根本不工作。 第一页(工作): //
我的动态路线有问题。它看起来像这样 [lang]/abc 我正在尝试从 [lang] 获取查询值但是当我使用 useRouter/withRouter我在页面的 2-3 渲染期间得到了查询(首先我得到
我在使用 NextJs useRouter 时遇到问题。 我有一个在路径之间导航的函数,我使用 useRouter 来做到这一点,我在一个包含数组对象的库中写道: router = useRouter
我在使用 NextJs useRouter 时遇到问题。 我有一个在路径之间导航的函数,我使用 useRouter 来做到这一点,我在一个包含数组对象的库中写道: router = useRouter
我正在构建一个 Vue3 npm 组件库,希望我可以使用 vue-router 的 useRouter 访问当前路由器,并且无论任何 vue 应用程序导入我的库组件,它都会自动提供。 如果直接引用我的
我正在尝试来自 react-router-dom 的新 useRoutes Hook ,它似乎非常有趣。唯一的问题是,我不知道如何将 props 传递给组件。 以前,我有一个 Route 组件,我会在
我试图通过使用 useRouter() 从“next/router”和使用该 id 从我的服务器获取一些数据。当我在无状态功能组件中使用它时,它起作用了。 但是页面显示“无效 Hook 调用”。我尝试
我刚刚更新到 ASP.NET Core 3 Preview 5,现在当我打开我的解决方案并尝试构建它时抛出错误在以下代码的 Configure() 的 Startup.cs 文件中,'UseRouti
我想在不使用 Controller 的情况下处理对 ASP.NET Core 中特定路径的请求。 看来我现在有两个选择: 使用 app.UseRouter(r => r.MapPost(...)):
当我试图理解它们时,app.UseRouting() 和 app.UseMvcWithDefaultRoute() 之间有什么区别? 最佳答案 可能是这个link可能会帮助你。基本上 UseMvcWi
当我试图理解它们时,它们似乎都用于将请求路由/映射到某个端点 最佳答案 用户路由 :将请求与端点匹配。 使用端点 : 执行匹配的端点。 它将路由匹配和解析功能与端点执行功能分离,直到现在,这些功能都与
我正在使用 System JS 动态添加 React 模块,效果很好! 除非我尝试使用加载模块中的 react-router 上下文。 “ react 路由器-dom”:“6.0.0-beta.0”
根据documentation ,中间件的顺序应该是这样的: app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.
我正在尝试使用 useRoute 提取参数如下如下。 const route = useRoute(); const { params } = route; const { id,
我正在使用 nextJS 并在这里遇到了一个小问题,并且不确定我哪里出了问题。我已经构建了一个应用程序,一切都可以在开发中运行。但是,我正在尝试构建我的应用程序,但收到错误: ./pages/genr
我正在使用 nextJS 并在这里遇到了一个小问题,并且不确定我哪里出了问题。我已经构建了一个应用程序,一切都可以在开发中运行。但是,我正在尝试构建我的应用程序,但收到错误: ./pages/genr
我们最近将我们的 React Native 代码库升级到 React Navigation 的第 5 版,并且在此过程中我们将几个组件从类组件重构为功能组件。这意味着我们正在使用像 useNaviga
我一直在尝试在 Storybook 中使用 Next.js 中的 useRouter 钩子(Hook)。但是,每次加载 Storybook 时,我都会收到“无法读取 null 的属性“路径名””。我该
我已安装 react-router-dom V6-测试版。通过遵循网站上的示例,我可以使用新选项 useRoutes我已经设置了页面路由并在 App.js 中返回它们文件。 保存后出现以下错误: 错误
我是一名优秀的程序员,十分优秀!