Ошибка типа: (0, _реакт.по умолчанию) не является функцией

#reactjs #react-hooks

Вопрос:

Я использую codesandbox.io для моего приложения, и оно возвращает ошибку TypeError: (0, _react.default) не является функцией. Этот основной App.js код работал нормально, пока я не попытался импортировать useState из react, вот так.

 // The error reference appears on the line that is defined by the isOpen variable and the openSidebar function

import useState, {React} from "react";
export default function App () {
  const [isOpen, openSidebar] = useState (false);
  return (
 

  isOpen и openSidebar используются в

     <Sidebar
      sidebar = {
            <>
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1>
            </>
      }
      open = {isOpen}
      styles = {{sidebar: {background: "white", height: "100%"}}}
    >
      <Button onClick = {openSidebar (! IsOpen)}> Open sidebar </Button>
    </Sidebar>
 

Файл:

 import "./styles.css";

import {Navbar, Nav, Container, Button} from "react-bootstrap";
import Sidebar from "react-sidebar";

import React, {useState} from "react";

export default function App () {

  const [isOpen, openSidebar] = useState (false);

  return (
    <div className = "App">
      <Navbar bg = "dark" style = {{color: "white", zIndex: 100}}>
        <Container>
          <Navbar.Brand href = "# home" style = {{color: "gray"}}>
            home
          </Navbar.Brand>
          <Nav className = "me-auto">
            <Nav.Link href = "# home" style = {{color: "gray"}}>
              Info
            </Nav.Link>
          </Nav>
        </Container>
      </Navbar>
      <div>
        <Sidebar
          sidebar = {
            <>
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1> 
              <h1> Sidebar content </h1>
            </>
          }
          open = {isOpen}
          styles = {{sidebar: {background: "white", height: "100%"}}}
        >
          <Button onClick = {() => openSidebar(!IsOpen)}> Open sidebar </Button>
        </Sidebar>
      </div>
    </div>
  );
}
 

Я думаю, что перезапуск песочницы может исправить некоторые ошибки.

Ответ №1:

React является экспортом по умолчанию и useState именованным экспортом. Поэтому измените строку импорта на

 import React, { useState } from 'react';