reactjs - TS2604 : JSX element type 'SomeContext' does not have any construct or call signatures

标签 reactjs typescript react-context

我看到了一些问题,但在创建 react 上下文时没有一个真正解决这个问题。

创建上下文

export const BookingContext = createContext<BookingContextType>({
  initiateBooking() {},
});

JSX

  const initiateBooking = (flight: Departures) => {
    setBooking(true);
  };
        <BookingContext value={{ initiateBooking }}>
          <div className="rounded-lg mt-1 overflow-y-auto h-96 found-flights ">
            {foundFlights?.map((foundFlight) => (
              <FoundFlight foundFlight={foundFlight} sortBy={sortBy} />
            ))}
          </div>
        </BookingContext>

类型

export interface BookingContextType {
  initiateBooking: (flight: Departures) => void;
}

但是,我收到错误 TS2604:JSX 元素类型“BookingContext”没有任何构造或调用签名。

老实说,我不知道那是什么,我需要一些帮助。

最佳答案

不要使用 BookingContext,而是在 JSX 中使用 BookingContext.Provider

<BookingContext.Provider value={{ initiateBooking }}>
  /* ... */
</BookingContext.Provider>

关于reactjs - TS2604 : JSX element type 'SomeContext' does not have any construct or call signatures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74334634/

相关文章:

javascript - 读取本地文件 react native

reactjs - 测试包含 React Router Link with Enzyme 的组件

android - react-native-pdf库gradle构建中的问题

javascript - 编译成 CommonJS 不会产生 NodeJS 可用的文件

angular - 为什么打字工具会故意创建重复的打字集?

Angular 2 : Thoughs about HMR and @ngrx/store

javascript - 如何使用 API 响应设置 useReducer 初始状态?

javascript - 如何隐藏没有产品reactjs的字符

javascript - 尝试在 React 中渲染 Context Provider,收到错误消息 "Element type is invalid..."

javascript - 无法使用 React Context 中的变量来访问对象的值