ИСПРАВЛЕНО: я деинсталлировал VScode, typcript и eslint глобально.После переустановки VScode все снова работало волшебным образом.
ОБНОВЛЕНИЕ: После установки библиотеки @ types / реагировать я по-прежнему получаю похожую ошибку только для RecipeList.js и Recipe.js , как упоминалосьin Свойство 'props' не существует для типа 'Home' или Свойство TypeScript 'props' не существует :
Свойство 'recipes' не существует для типа'Readonly <{children ?: ReactNode;}> & Readonly <{}> '.
ОРИГИНАЛ: Итак, я новичок в React и по какой-то причине на VSCode я получаю синтаксисошибка при попытке доступа к .props для RecipeList.js и Recipe.js.
Вот пример кода для Recipe.js:
import React, {Component} from 'react';
import "./Recipe.css";
class Recipe extends Component {
// props: any; uncommenting this will fix the bug
render() {
// don't have to use return and parentheses for arrow with JSX
const ingredients = this.props.ingredients.map((ing, ind) => (
<li key={ind}>{ing}</li>
));
const {title, img, instructions} = this.props
return (
<div className="recipe-card">
<div className="recipe-card-img">
<img src={img} alt={title}/>
</div>
<div className="recipe-card-content">
<h3 className="recipe-title">
{title}
</h3>
<h4>
Ingredients:
</h4>
<ul>
{ingredients}
</ul>
<h4>
Instructions:
</h4>
<p>
{instructions}
</p>
</div>
</div>
)
}
}
Снимок экрана.ошибка реквизита
Однако проект не выдает ошибок во время компиляции, и веб-сайт работает отлично.
Снимок экрана приложения, работающего нормально, без ошибок консоли Chrome или терминала
Я думаю, что это меньше связано с моим кодом, и в особенности с TypeScript или каким-то предустановленным конфигом с Javascript для VScode, испытывающим затруднения при определении свойства .props для каждого компонента, потому что у меня возникают похожие проблемыкогда я встроил React Tutorial Project в свой редактор (я даже скопировал и вставил окончательный код index.js с сайта просто для уверенности), несмотря на то, что приложение работало нормально, без ошибок во время компиляции.
Скриншот тТе же ошибки .prop после следующего React Tutorial
Единственный способ решить эту проблему - если я на самом деле жестко закодирую и создаю свойство props для каждого класса и присваиваю ему любое из следующих значений:
Скриншот единственного решения синтаксической ошибки
Любые идеи приветствуются!Спасибо вам большое!Несмотря на то, что приложение работает, у меня есть небольшая OCD из-за этой бессмысленной ошибки, появляющейся в редакторе.
PS: Вот мои обновленные зависимости
"dependencies": {
"@types/react": "^16.4.13",
"prop-types": "^15.6.2",
"react": "^16.5.0",
"react-dom": "^16.5.0",
"react-scripts": "1.1.5",
"typescript": "^3.0.3"
}