У меня есть одна проблема в index.js, похоже, у меня ошибка с экспортом и импортом, я проверил свой код, но не могу найти ошибку. любая помощь, пожалуйста?
Я получаю эту ошибку:
Ошибка: недопустимый тип элемента: ожидалась строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получено: не определено. Вероятно, вы забыли экспортировать свой компонент из файла, в котором он определен, или вы могли перепутать импорт по умолчанию и именованный импорт.
Проверьте метод рендеринга SelectProfileContainer
Мой код реакции (index.js):
import React from "react";
import { render } from "react-dom";
import "normalize.css";
import App from "./app";
import { GlobalStyles } from "./global-styles";
import { firebase } from "./lib/firebase.prod";
import { FirebaseContext } from "./context/firebase";
render(
<>
<FirebaseContext.Provider value = {{ firebase }}>
<GlobalStyles />
<App />
</FirebaseContext.Provider>
</>,
document.getElementById("root")
);
вот код GlobalStyles.js:
import { createGlobalStyle } from "styled-components";
export const GlobalStyles = createGlobalStyle`
html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: black;
color: #333333;
font-size: 16px;
}
вот что выдает браузер:
Проверьте метод рендеринга
SelectProfileContainer
.▶ 23 фрейма стека были свернуты.
Модуль.
C:/Users/CPU-MAJD/OneDrive/Desktop/Completely_fully_Netflix-clone/netflix/src/index.js:9
6 | импортировать {firebase} из "./lib/firebase.prod";
7 | импортировать {FirebaseContext} из "./context/firebase";
8 |
> 9 | оказывать(
10 | <>
11 | <FirebaseContext.Provider value = {{ firebase }}>
12 |
Я не могу найти компонент SelectProfileContainer
. я не создавал эту функцию
вы можете проверить мой код здесь github.com/Gloryyy/Netflix-clone-from-scratch
После проверки вашего репо я вижу компонент SelectProfileContainer
:
export function SelectProfileContainer({ user, setProfile }) {
return (
<>
<Header bg = {false}>
<Header.Frame>
<Header.Logo to = {ROUTES.HOME} src = {logo} alt = "Netflix" />
</Header.Frame>
</Header>
<Profiles>
<Profiles.Title>Who's watching?</Profiles.Title>
<Profiles.List>
<Profiles.User
onClick = {() =>
setProfile({
displayName: user.displayName,
photoURL: user.photoURL,
})
}
>
<Profiles.Picture src = {user.photoURL} />
<Profiles.Name>{user.displayName}</Profiles.Name>
</Profiles.User>
</Profiles.List>
</Profiles>
</>
);
}
Сообщение об ошибке, отображаемое на экране, не очень полезно, но если вы посмотрите на консоль, вы увидите следующее, более полезное:
Check your code at profiles.js:19.
at SelectProfileContainer
Строка 19 — это строка с <Profiles.User>
, и если вы попытаетесь проверить компонент, вы заметите, что его нет в src/components/profiles/index.js
. Убедитесь, что есть компонент <Profiles.User>
и ошибка исчезла.
Zsolt Meszaros, наконец, все работает нормально, спасибо, братан, на самом деле я забыл переименовать <Profiles.User>
в <Profiles.Item>
, это была ошибка. спасибо
Итак, вы проверили метод рендеринга
SelectProfileContainer
?