#reactjs #typeerror #react-props
#reactjs #ошибка типа #реагировать-реквизит
Вопрос:
Я новичок в ReactJS и пытаюсь выполнить задание с канала YouTube. Я создал массив «products» в «SchoolProduct.js «затем, используя props, я передал значение в Product.js. Теперь в App.js Я использовал функцию map для получения данных (возможно, я что-то неправильно понимаю в реквизитах или функции map)
Вот SchoolProduct.js:
const products = [
{
id: "1",
name: "pencil",
price: 1,
description: "this is pencil"
},
{
id: "2",
name: "rubber",
price: 10,
description: "this is rubber"
}
]
это мой Product.js
import React from "react"
function Product(props)
{
return
(
<div>
<h2>{props.product.name}</h2>
<p>{props.product.price.toLocaleString("en-US", {style: "currency",
currency: "USD"})}
- {props.product.description}</p>
</div>
)
}
export default Product
и это мой App.js
import React, { Component } from 'react';
import Product from "./Product"
import productsData from "./SchoolProduct"
function App(){
const productsComponents = productsData.map(item => <Product product=
{item}/>)
return (
<div>
{productsComponents}
</div>
)
}
export default App;
Ошибка заключается в:
Ошибка типа: _SchoolProduct__WEBPACK_ИМПОРТИРОВАЛ_MODULE_2___по умолчанию.a.карта не является функцией
он показывает ошибку в App.js строка № 8, которая является «постоянными компонентами продукта»
Я знаю, что создаю глупую ошибку, но я пытаюсь ее исправить
Комментарии:
1. Вам нужно экспортировать массив в SchoolProduct,
export const products = [
2. @Phix теперь он показывает «Ошибка при попытке импорта: ‘./SchoolProduct’ не содержит экспорта по умолчанию (импортирован как ‘productsData’)».
Ответ №1:
Я должен экспортировать свою ошибку способом по умолчанию,
const products = [
{
id: "1",
name: "pencil",
price: 1,
description: "this is pencil"
},
{
id: "2",
name: "rubber",
price: 10,
description: "this is rubber"
}
]
export default products
Ответ №2:
export default [
{
id: "1",
name: "Pencil",
price: 1,
description: "Perfect for those who can't remember things! 5/5 Highly recommend."
},
{
id: "2",
name: "Housing",
price: 0,
description: "Housing provided for out-of-state students or those who can't commute"
},
{
id: "3",
name: "Computer Rental",
price: 300,
description: "Don't have a computer? No problem!"
},
{
id: "4",
name: "Coffee",
price: 2,
description: "Wake up!"
},
{
id: "5",
name: "Snacks",
price: 0,
description: "Free snacks!"
},
{
id: "6",
name: "Rubber Duckies",
price: 3.50,
description: "To help you solve your hardest coding problems."
},
{
id: "7",
name: "Fidget Spinner",
price: 21.99,
description: "Because we like to pretend we're in high school."
},
{
id: "8",
name: "Sticker Set",
price: 14.99,
description: "To prove to other devs you know a lot."
}
]