相关疑难解决方法(0)

支持`history`在`Router`中被标记为必需,但它的值是'undefined`.在路由器中

我是ReactJs的新手.这是我的代码:

var React = require('react');
var ReactDOM = require('react-dom');
var {Route, Router, IndexRoute, hashHistory} = require('react-router');
var Main = require('Main');
ReactDOM.render(
  <Router history={hashHistory}>
  <Route path="/" component={Main}></Route>
</Router>, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)

并使用webpack进行编译.我还将主要组件添加到我的别名中.控制台抛出这些错误: 我也阅读了这些链接:

React Router失败道具'历史',未定义

当值未定义时,如何标记历史记录是必需的?

升级React-Router并用browserHistory替换hashHistory

和网上的许多搜索,但我无法解决这个问题.React Router是版本4

reactjs react-router

81
推荐指数
2
解决办法
6万
查看次数

withRouter' 未从 'react-router-dom 导出

在 npm i --save react-router-dom 和 npm install --save with-router 之后我尝试编写

import {withRouter} from 'react-router';
Run Code Online (Sandbox Code Playgroud)

但我收到此错误尝试导入错误:“withRouter”未从“react-router”导出。



import React from 'react';
import PropTypes from 'prop-types';
import { Formik } from 'formik';
import {
  Box,
  Button,
  Card,
  CardContent,
  CardHeader,
  Divider,
 } from '@material-ui/core';
import { connect } from 'react-redux';
import jsonGR from "src/assets/data/greek.json";
import jsonEN from "src/assets/data/english.json";
import { LAN_EN }  from 'src/actions/types';
import CloudUploadIcon from '@material-ui/icons/CloudUpload';
import AddIcon from '@material-ui/icons/Add';
import axios from 'axios';
import LinearProgress from '@material-ui/core/LinearProgress';
import Typography from …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-router-dom

50
推荐指数
6
解决办法
9万
查看次数

BrowserRouter 内的链接标记仅更改 URL,但不会呈现组件

我正在构建一个 Netflix 克隆应用程序,并用于react-router-dom v5在不同页面之间切换。但是,当我单击Link中的标签时Navbar.jsx,URL 会发生变化,但相应的组件不会呈现。我查阅了很多关于这个主题的StackOverflow 帖子,但是,我无法让它工作。下面是代码。请帮助我,因为我已经被困在这个问题上三天了。

/series当导航到from时,它应该显示什么/: 在此输入图像描述

它实际上显示了什么: 在此输入图像描述

  1. 索引.js
import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App";

const container = document.getElementById("root");
const root = createRoot(container);

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
Run Code Online (Sandbox Code Playgroud)
  1. 应用程序.jsx
import React from "react";

import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import "./app.scss";
import Home from "./pages/home/Home";
import Watch from "./pages/watch/Watch";

const App = () => {
  return …
Run Code Online (Sandbox Code Playgroud)

javascript netflix reactjs react-router-dom

13
推荐指数
1
解决办法
8540
查看次数

在“react-router-dom”中找不到导出“Switch”(导入为“Switch”)

export 'Switch' (imported as 'Switch') was not found in 'react-router-dom'我在将 React-router-dom 更新到 6.2.1 时收到此错误。

这是我的 Main.jsx

export default function Main(props) {
  const classes = useStyles();

  return (
    <main className={classes.content}>
      <div className={classes.appBarSpacer} />
      <Container maxWidth="lg" className={classes.container}>
        <Grid container spacing={3}>
          <Grid item xs={12}>
            <Paper className={classes.paper}>
              <Switch>
                {routes.map((route, key) => (
                  <Route key={key} exact path={route.path}>
                    <route.Content />
                  </Route>
                ))}
              </Switch>
            </Paper>
          </Grid>
        </Grid>
        <Box pt={4}>
          <Copyright />
        </Box>
      </Container>
    </main>
  );
}

Run Code Online (Sandbox Code Playgroud)

我尝试用路由替换交换机,但这破坏了我的前端。我应该怎么办?

非常感谢您的帮助。

谢谢你!

javascript reactjs react-router-dom

11
推荐指数
1
解决办法
4万
查看次数

node_modules 文件夹的用途是什么?

我想知道 node_modules 文件夹到底是什么以及用于什么。我知道当我们使用 npm 下载任何库时,该库会转到 node_modules,但我知道当我们要将其上传到 github 时,我们必须忽略 node_modules 文件夹,因为它占用大量空间。通过 package.json 我们可以使用 npm i 下载所有依赖项,我的问题是...假设我想将我的应用程序/网站部署到某个服务器/主机,我是否也必须将 node_modules 文件夹上传到服务器?另一件事,通常我从网站下载我的 jquery 和 bootstrap 并复制到我的项目内的 css/js 文件夹中,但是这次我尝试使用 npm 并且一切都转到 node_modules 并且我使用的是cordova,当我执行命令cordova时build 既不生成我的 jquery 也不生成我的引导程序。所以这就是我的问题,如果我想主持我的项目,我真的必须上传 node_modules 吗?当它是cordova或ionic时,我还必须将node_modules复制到www文件夹吗?如果是,那么使用 npm 下载库有什么意义?这是真的吗?哪一个更好?去网站下载文件并粘贴到 www 或通过 npm 下载?

jquery node.js npm node-modules bootstrap-4

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