react-router - 如何在 React VR 中使用 React React Router?

标签 react-router react-360

我试图弄清楚如何将 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/上打开浏览器时返回如下错误:
React Router + React VR errors

最佳答案

我根据 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/

相关文章:

reactjs - Gitlab 页面和 React Router

javascript - react 路由器: save an extended path as a route param

reactjs - 我需要将浏览器路由器一分为二

javascript - 将 props 传递给包含多个组件的 React Router

aframe - 如何在 React VR 中将摄像机更改为第三人称?

iframe - React-VR iFrame 全屏

javascript - 通过 react-router v3 将路由与参数匹配

react-native - React VR - 是否可以通过socket.io实现实时对象?

browser-cache - 我可以使用 React VR 预加载和缓存图像吗?

youtube - 是否可以使用React-VR链接到外部图像/视频?