[React Typescript] React namespace

export = React;
export as namespace React;

declare namespace React {
    //
    // React Elements
    // ----------------------------------------------------------------------

    type ElementType<P = any> =
        {
            [K in keyof JSX.IntrinsicElements]: P extends JSX.IntrinsicElements[K] ? K : never
        }[keyof JSX.IntrinsicElements] |
        ComponentType<P>;
    
    ...
    // DOM Elements
    function createFactory<T extends HTMLElement>(
        type: keyof ReactHTML): HTMLFactory<T>;
    ...
}

 

So what does export = Reactdo?

// Usage
import React from "react"
type Example = React.ReactNode;

// or
import {ReactNode} from "react"
type Example = ReactNode;

Basicly it allows us to export the entrie React namespace, by using as import React from "react", or we can just destruct individual element from namespace import {ReactNode} from "react"

 

what does export as namespace React;do?

So in any ts file, you can use Reactwithout import:

type Example = React.ReactNode

If we comment out export as namespace React;then Reactnamespace is not availbe;

posted @   Zhentiw  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-08-21 [Typescript] Filtering properties out
2020-08-21 [Machine Learning] Multivariate Linear Regeression
2019-08-21 [Dart] Define Optional Named and Positional Parameters for Functions and Methods in Dart
2017-08-21 [D3] Animate Transitions in D3 v4
2017-08-21 [D3] Debug D3 v4 with Dev Tools
2017-08-21 [Angular] Custom directive Form validator
点击右上角即可分享
微信分享提示