reactjs - React Context 无法导入
问题描述
我正在关注 Youtube 上的教程https://www.youtube.com/watch?v=35lXWvCuM8o
在 17:45 时它没有import MovieProvider from "./MovieContext"
,但是当你看到教程并且我所做的一切都完全一样时它会发生,可能是什么原因?
import React from "react";
import "./App.css";
import MoviesList from "./MoviesList";
import { Movi } from "./Movie";
import { MovieProvider } from "./MovieProvider";
function App() {
return (
<MovieProvider>
<div className="app">
<MoviesList />
</div>
</MovieProvider>
);
}
export default App;
import React, { useState, useContext } from "react";
import Movie from "./Movie";
import { MovieContext } from "./Movie";
const MoviesList = () => {
const value = useContext(MovieContext);
return (
<div>
<h2>{value}</h2>
{/*movies.map(movie => (
<Movie name={movie.name} price={movie.price} />
))*/}
</div>
);
};
export default MoviesList;
import React from "react";
import "./App.css";
const Movie = ({ name, price }) => {
return (
<div className="movie">
<h2>{name}</h2>
<p>{price}</p>
</div>
);
};
export default Movie;
import React, { useState, createContext } from "react";
export const MovieContext = createContext();
export const MovieProvider = props => {
const [movies, setMovies] = useState([
{ name: "Brave heart", price: "10$" },
{ name: "Mission impossible", price: "20$" },
{ name: "Titatic", price: "5$" }
]);
return (
<MovieContext.Provider value={"Hello"}>
{props.children}}
</MovieContext.Provider>
);
};
PS:我遵循了其他教程,其中 Context API 与同一文件中的类一起使用,它在这个 Youtube 视频中对我不起作用。
布拉萨拉
解决方案
如果您按照视频进行操作,则应按以下方式导入App.js
import { MovieProvider } from './MovieContext';
并不是
import { MovieProvider } from './MovieProvider';
并且还导入如下MovieList.js
import { MovieContext } from './MovieContext';
并不是
import { MovieContext } from './Movie';
推荐阅读
- javascript - 如何切换我的元素在被点击之前的外观
- mysql - 在 res.send 中发送 MySql 结果
- javascript - 使用 Tampermonkey 更改跨度(Javascript)的值
- prometheus - Prometheus 节点导出器不会提供磁盘卷信息
- c# - ComboBox 不显示文本
- c# - 搜索完成后按钮不起作用 ASP.NET Core 3.1
- r - 错误:替换有 0 行,数据在 for 循环中有 22
- linux - 为什么“mpv $(ls video\ *)”与“mpv video\ *”不一样?(请帮助 noobie 使用 shell)
- cordova - 科尔多瓦网::ERR_INVALID_RESPONSE
- c# - Outlook 插件如何检测帐户何时被删除