现在,我正在使用静态URL渲染React组件。
我想将其传递给动态网址。
例如,不要这样称呼它:
https://www.example.com
我想这样称呼:
https://www.example.com/?name=John
我希望这能更新其this.props.name
或this.state.name
个组件。
我能这样做吗?
我应该为此目的使用什么? react-router
?
或者这只能从后端完成吗?
答案 0 :(得分:2)
您不需要react-router。以下将解析您的网址:
let url_parameter = {};
const currLocation = window.location.href,
parArr = currLocation.split("?")[1].split("&");
for (let i = 0; i < parArr.length; i++) {
const parr = parArr[i].split("=");
url_parameter[parr[0]] = parr[1];
}
但是,如果您使用react-router,则可能需要使用该资源。链接看起来像这样:
http://www.example.com/john
在这种情况下,react允许获取this.props.params中的资源: 这里如何指定路线:
<Route path="/:name" component={Name}>
此处如何访问组件“名称”中的名称:
....
render() {
const {name} = this.props.params;
...
}
我希望这会有所帮助。