我是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并用browserHistory替换hashHistory
和网上的许多搜索,但我无法解决这个问题.React Router是版本4
在 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) 我正在构建一个 Netflix 克隆应用程序,并用于react-router-dom v5在不同页面之间切换。但是,当我单击Link中的标签时Navbar.jsx,URL 会发生变化,但相应的组件不会呈现。我查阅了很多关于这个主题的StackOverflow 帖子,但是,我无法让它工作。下面是代码。请帮助我,因为我已经被困在这个问题上三天了。
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)
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) 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)
我尝试用路由替换交换机,但这破坏了我的前端。我应该怎么办?
非常感谢您的帮助。
谢谢你!
我想知道 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 下载?
reactjs ×4
javascript ×2
react-router ×2
bootstrap-4 ×1
jquery ×1
netflix ×1
node-modules ×1
node.js ×1
npm ×1