我试图弄清楚如何将 React Router 与 React VR 连接起来。
首先,我应该使用 react-router
dom
/native
?目前尚不清楚,因为 React VR 构建在 React Native 之上,但在浏览器中运行。
这是我遇到问题的代码。
import React from 'react';
import { AppRegistry } from 'react-vr';
import {
BrowserRouter as Router,
Route
} from 'react-router-dom'
import Landing from './components/Landing';
import Video from './components/Video';
export default class WelcomeToVR extends React.Component {
render() {
return (
<Router>
<Route exact path={'/vr/'} component={Landing} />
<Route exact path={'/vr/video/'} component={Video} />
</Router>
);
}
};
AppRegistry.registerComponent('WelcomeToVR', () => WelcomeToVR);
上述代码在
/vr/
上打开浏览器时返回如下错误:最佳答案
我根据 remydib 提到的 Ryan Florence 视频提供了这个解决方案使用 react 路由器 4.1.2。
在主应用程序组件中:
import { MemoryRouter, Redirect, Route, Switch } from 'react-router';
...
<MemoryRouter>
...
</MemoryRouter>
在使用 VrButton 的组件中:
export class NavBtn extends React.Component {
static contextTypes = {
router: React.PropTypes.object.isRequired,
};
render() {
const { to } = this.props;
const onClick = () => this.context.router.history.push(to);
return (
<VrButton onClick={onClick}>
...
</VrButton>
);
}
}
有react-router-vr包在 npm 中,但它看起来只是占位符。遗憾的是,目前不支持浏览器 URL。
关于react-router - 如何在 React VR 中使用 React React Router?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43931122/