react-router – 如何使用React VR与React VR进行反应?

我正在试图找出如何使用React VR插入React路由器.

首先,我应该使用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 4.1.2来提供基于 remydib提到的Ryan Florence视频的解决方案.

在主应用程序组件中:

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>
        );
    }
}

在npm中有react-router-vr包,但它看起来只是占位符.遗憾的是,此刻不支持浏览器URL.

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...