Я прохожу учебник, но он не работает, и я не могу понять, почему.
Это “Python + JavaScript – Полное руководство по созданию приложений”
https://www.youtube.com/watch?v=PppslXOR7TA
Я скачал файлы оптом, но когда я использую команду ‘npm run dev’, она говорит
использование: vite [опции]
Простой и минималистичный генератор статических сайтов.
позиционные аргументы:
{init,new,build,serve}
Опции, помогающие создать, собрать и обслуживать ваш проект.
опции:
-h, –help показать это сообщение и выйти
-v, –version показать номер версии программы и выйти
PS C:\Users\judew\desktop\using python to interact with pdf and excel project!!! kevings program website\old one for 1.5 hours can’t make work\zzdowloaded\frontend>
Когда я пытаюсь пройтись по всему процессу сам, возникает проблема с 70 строкой в ContactList.jsx
{contacts.map((contact) => (
ошибка:
Uncaught TypeError: Cannot read properties of undefined (reading ‘map’)
Похоже, что контакт не существует, и он пуст, потому что я только начинаю программу, но я не имею никакой идеи, в чем может быть проблема.
Ответ
Конечно! Давайте разберем вашу проблему шаг за шагом.
Проблема 1: Ошибка с командой npm run dev
Ошибка, которую вы видите при попытке запустить npm run dev
, указывает на то, что важно убедиться, что у вас установлен Vite, так как у вас может отсутствовать конфигурация для запуска приложения. Чтобы решить это:
-
Проверьте наличие файла
package.json
в вашей папке проекта. Это файл, который должен содержать информацию о зависимостях и скриптах вашего проекта. Убедитесь, что в нем есть секция"scripts"
и команда"dev"
. Пример:"scripts": { "dev": "vite" }
-
Убедитесь, что вы установили зависимости. Выполните команду:
npm install
Это установит все необходимые пакеты, указанные в
package.json
. - После установки зависимостей попробуйте снова запустить команду:
npm run dev
Проблема 2: Ошибка в ContactList.jsx
Ошибка Uncaught TypeError: Cannot read properties of undefined (reading 'map')
указывает на то, что переменная contacts
не определена или равна undefined
. Чтобы это исправить:
-
Инициализируйте состояние. Убедитесь, что вы определяете
contacts
в вашем компоненте. Пример с использованием React иuseState
:import React, { useState, useEffect } from 'react'; const ContactList = () => { const [contacts, setContacts] = useState([]); // Инициализация как пустой массив useEffect(() => { // Здесь вы можете загрузить данные с сервера или задать значения по умолчанию fetchContacts(); }, []); const fetchContacts = async () => { // Ваш код для получения контактов // Пример: const response = await fetch('API_URL'); // const data = await response.json(); // setContacts(data); // Обновите состояние }; return ( <div> {contacts.map((contact) => ( <div key={contact.id}>{contact.name}</div> ))} </div> ); }; export default ContactList;
- Убедитесь, что API, с которого вы получаете данные, работает корректно и возвращает данные в нужном формате. Если ваши данные приходят асинхронно, убедитесь, что они загружаются и устанавливаются в ваше состояние (в приведенном выше примере это функция
fetchContacts
).
Итог
- Убедитесь, что у вас установлен Vite и что в вашем
package.json
все правильно настроено. - Инициализируйте ваше состояние
contacts
как пустой массив и убедитесь, что данные загружаются корректно.
Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь задавать их! Удачи с вашим проектом!