Задать вопрос
@IvanLu
Начинающий веб-разработчик

Как типизировать файл с контекстом?

Написал контекст чтоб обернуть приложение. Так как приложение на тс, соответсвенно мне нужно и файл с контекстом написать на тс но для начала решил написать на js чтоб типизировать позже, выглядит так:

import { createContext, useContext, useEffect, useState } from "react";

const AuthContext = createContext();

export function AuthContextProvider({ children }) {
  return <AuthContext.Provider>{children}</AuthContext.Provider>;
}

export function UserAuth() {
  return useContext(AuthContext);
}


Но как только я меняю расширение файла с контектом на ts сразу получаю ошибки и не знаю как их исправить.
Код:
import { createContext, useContext, useEffect, useState } from "react";

const AuthContext = createContext();
//(alias) createContext<unknown>(defaultValue: unknown): React.Context<unknown> import createContext Expected 1 arguments, but got 0.

export function AuthContextProvider({ children }) {
  return <AuthContext.Provider>{children}</AuthContext.Provider>;
}

export function UserAuth() {
  return useContext(AuthContext);
}


Насколько я понимаю то чтоб исправить ошибку вызова функции AuthContext необходимо написать интерфейс но с интерфесом так же не работает,

По задумке приложение должно быть обернуто так:
import { AuthContextProvider } from "./context/AuthContext.js";

function App() {
  return (
    <div className="App">
      <AuthContextProvider>
        <Navbar />
        <Routes>
          <Route path="/" element={<Home />} />
        </Routes>
      </AuthContextProvider>
    </div>
  );
}
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
в < AuthContext.Provider > надо бы передать проп value - то самое значение, которое будет возвращать useContext(AuthContext).

Покури TFM по реакту. Пока что всё это выглядит как код, воздвигнутый наугад, не приходя в сознании.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы