首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5.1 + Webpacker + React-router

Rails 5.1 + Webpacker + React-router
EN

Stack Overflow用户
提问于 2017-07-11 21:37:21
回答 2查看 765关注 0票数 2

我正在尝试在一个新的项目中使用这三种方法。我想使用react-router处理路由。

在“开箱即用”的设置下,当我从例如localhost:3000/开始,然后点击例如Link routing to signup页面时,它工作得很好。但是当我尝试进入localhost:3000/signup时,它显示没有路由(因为没有使用Rails创建的路由)。

我怎样才能集成它呢?

EN

回答 2

Stack Overflow用户

发布于 2017-07-25 16:16:53

您可以通过将react-router-domHashRouter一起使用来实现这一点,而不是使用BrowserRouter

票数 3
EN

Stack Overflow用户

发布于 2020-06-04 06:35:10

处理这种情况的正确解决方案是在Rails config/routes.rb文件中定义所有的React路由。

问题是Rails必须知道React正在处理的路由,否则它会试图接管并处理您的应用程序的路由。

因此,假设您的React的前端控制器路由是这样的:root 'pages#index',在config/routes.rb中如下所示:

代码语言:javascript
复制
Rails.application.routes.draw do
    root 'pages#index'
end

因此,要让您的React路由正常工作,而不让Rails干扰,您可以这样做:

代码语言:javascript
复制
Rails.application.routes.draw do
    root 'pages#index'
    get 'admin', to: 'pages#index'
    get 'admin/dashboard', to: 'pages#index'
    get 'admin/user', to: 'pages#index'
end

您只需将所有React路由重定向到前端控制器“pages#index”即可。这将会完成这项工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45036145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档