为什么在 React 的 {} 中导入 useState,useEffect

why are useState,useEffect imported in {} in React

为什么在 React 的 {} 中导入了 useState,useEffect。

从 'react' 导入 React,{useState,useEffect};

这与反应无关。这是标准 javascript.

假设我们有这个文件:

React.js

export const useState = (initialState) => {
    // the useState code here
};

export const useEffect = (handler, dependencies) => {
    // the useEffect code here
};

const React = {
    useState,
    useEffect,
    // other functions here maybe
};

export default React;

Please note this is a simple example.

导入时,javascript 看到两件事:

1 - 命名属性(标有export的变量)

2 - 默认导出 - 导出的单个变量或函数。在本例中,一个包含上述两个函数的对象

命名属性使用 {} 导入,而默认导出不使用 {}

通过这个示例实现,您可以像这样使用:

import React, { useState } from './React.js';

// use the property exported
const [state1, setState1] = useState(1);
// access property from default export
const [state2, setState2] = React.useState(2);