小编fue*_*fue的帖子

通过在react-router的地址栏中键入地址直接访问路由器

使用react-router(V4)有两种"主要"方式; 第一种方法是使用哈希路由器,您可以通过在浏览器的地址栏上键入它来直接访问地址,但是您必须添加#到URL,另一种方法是使用BrowserRouter,它具有漂亮且用户友好的URL结构但是你不能直接键入地址以呈现路线.那么,我如何配置HashRouter无需#或配置BrowserRouter即可直接使用URL输入?是否可以使用.htaccess?怎么样?谢谢.


const React = require('react');
const ReactDOM = require('react-dom');
import { HashRouter as Router, Route, Link} from 'react-router-dom';



const routes = (
    <Router forceRefresh={false}>
        <div>
            <Route exact path="/" component={Firstpage}/>
            <Route exact path="/projects" component={Projectslist}/>
        </div>
    </Router>
);


ReactDOM.render(routes, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)

[在这种类型中,它与#mark一起使用.例如:localhost:2000 /#/ projects]


另一种类型:

const React = require('react');
const ReactDOM = require('react-dom');
import { BrowserRouter as Router, Route, Link} from 'react-router-dom';



const routes = (
    <Router forceRefresh={true}>
        <div>
            <Route exact path="/" component={Firstpage}/>
            <Route exact path="/projects" component={Projectslist}/>
        </div>
    </Router>
);


ReactDOM.render(routes, document.getElementById('app')); …
Run Code Online (Sandbox Code Playgroud)

javascript .htaccess reactjs react-router react-router-dom

6
推荐指数
1
解决办法
1924
查看次数

在react-router上传递参数后,this.props.params不存在

我将参数从react-router的路径路径传递给组件,但在this.props对象中,'params'不存在

const routes = (
    <Router forceRefresh={true}>
        <div>
            <Route exact path="/" component={Firstpage}/>
            <Route exact path="/projects" component={Projectslist}/>
            <Route exact path="/projects/:projectId" component={Singleproject}/>
        </div>
    </Router>
);
Run Code Online (Sandbox Code Playgroud)

这是我的组成部分:

class Singleproject extends React.Component{
    constructor(props) {
        super(props);
    }

    componentWillMount(){
        window.document.title = "Wploper | Project title";
    }
    render(){
        return(
            <div>
                <Mainheader/>
                <div id="single-project-container" className="sheet-max-width">
                    <h2>{this.props.params}</h2>
                </div>
                <Mainfooter/>
            </div>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

对象(this.props)没有参数: 在这里输入图像描述

reactjs react-router

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