ket*_*tan 1 javascript json reactjs webpack
我正在尝试将静态JSON数据加载到我的应用程序中。但是,它不允许我加载数据。
我正在使用webpack 4.26.1版本
它显示了以下错误:
SyntaxError: src/data/movieData.json: Unexpected token, expected ; (2:10)
1 | {
2 | "data": [
| ^
3 | {
4 | "id": 1,
5 | "title": "Freed",
Run Code Online (Sandbox Code Playgroud)
我的代码:
data / jsonResponse.json
{
"data": [
{
"id": 1,
"title": "Freed"
},
{
"id": 2,
"title": "Fifty"
}
]
}
Run Code Online (Sandbox Code Playgroud)
main.js
import React, { Component } from 'react';
import Content from './Content';
import jsonResponse from './data/jsonResponse.json';
class Main extends Component {
render() {
return (
<div className="main">
<Content item={ jsonResponse } />
</div>
);
}
}
export default Main;
Run Code Online (Sandbox Code Playgroud)
Content.js
import React from 'react';
const Content = () => {
const movies = this.props.item.data;
return (
movies.map(movie => {
return (
<span >{movie.title}</span>
);
})
)
}
export default Content;
Run Code Online (Sandbox Code Playgroud)
编辑:
如果我使用js而不是JSON,例如:
const movies_data = {
"data": [
{
"id": 1,
"title": "Freed"
},
{
"id": 2,
"title": "Fifty"
}
]
}
export default movies_data;
Run Code Online (Sandbox Code Playgroud)
并在Main.js文件中
import jsonResponse from './data/movieData';
Run Code Online (Sandbox Code Playgroud)
然后在浏览器中显示以下错误。
无法读取未定义的属性“ props”
在js文件中加载json文件有两种解决方法。
将您的json文件重命名为.js扩展名,然后export default从此处将json 重命名。
由于json-loader默认情况下是在webpack> = v2.0.0上加载的,因此无需更改您的webpack配置。
但您需要将json文件加载为json!./data/jsonResponse.json(注意json!)
编辑:
无法读取未定义的属性“ props”
出现此错误的原因是,您正在尝试访问this功能组件!
| 归档时间: |
|
| 查看次数: |
2358 次 |
| 最近记录: |