相关疑难解决方法(0)

手动刷新或写入时,React-router URL不起作用

我正在使用React-router,当我点击链接按钮时它工作正常,但是当我刷新我的网页时它没有加载我想要的东西.

例如,我进入localhost/joblist,一切都很好,因为我来到这里按一个链接.但是,如果我刷新网页,我得到:不能GET/joblist

默认情况下它没有像这样工作.最初我有我的URL:localhost /#/和localhost /#/ joblist,他们工作得非常好.但是我不喜欢这种网址,所以试图抹去我写的'#':

Cannot GET /joblist
Run Code Online (Sandbox Code Playgroud)

localhost /不会发生这个问题,这个问题总是返回我想要的.

编辑:这个应用程序是单页面,因此/ joblist不需要向任何服务器询问任何内容.

EDIT2:我的整个路由器.

Router.run(routes, Router.HistoryLocation, function (Handler) {
 React.render(<Handler/>, document.body);
});
Run Code Online (Sandbox Code Playgroud)

javascript url reactjs react-router

534
推荐指数
22
解决办法
26万
查看次数

React Router BrowserRouter在没有通过主页单击直接转到子页面时导致"404 Not Found - nginx"错误

我正在使用React Router为多页网站进行路由.当试图直接转到子页面https://test0809.herokuapp.com/signin时,您会收到"404 Not Found -nginx"错误(为了能够看到此问题,您可能需要转到此链接)隐身模式,所以没有缓存).如果你从主页出来,所有链接都可以正常工作:test0809.herokuapp.com/.我正在使用BrowserRouter,并且能够通过将BrowserRouter更改为HashRouter来消除"404 not found"错误,这会给我的所有网址带来"#"符号.除了在你的网址中有"#"的所有问题,最大的问题是我需要在我的网站中实现LinkedIn Auth,而LinkedIn OAuth 2.0不允许重定向网址包含#. LinedIn OAuth 2.0错误屏幕抓取

import React, { Component } from 'react'
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
import LinkedIn from 'react-linkedin-login'
const Home = () => <div><h2>Home</h2></div>
const About = () => <div><h2>About</h2></div>
class Signin extends Component {
  callbackLinkedIn = code => {
    console.log(1, code)
  }
  render() {
      return (
          <div>
              <h2>Signin</h2>
              <LinkedIn
                  clientId="clientID"
                  callback={this.callbackLinkedIn}
              >
          </div>
      )
  }
}
const BasicExample = …
Run Code Online (Sandbox Code Playgroud)

javascript nginx reactjs react-router linkedin-api

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

javascript ×2

react-router ×2

reactjs ×2

linkedin-api ×1

nginx ×1

url ×1