使用上下文 api 将代码拆分为文件

Splitting code into files using context api

我第一次使用上下文 API time.I 可以理解如何在单个代码中编写代码 page.But 我无法理解如何将其拆分为多个 files.When 我按如下方式拆分它给我一个错误,说我没有导出 MyProvider.But 我已经完成了 it.I 搜索了很多视频教程,但我找不到与我的相匹配的问题

App.js

import {MyProvider} from './Context';
import {myContext} from './Context';

class Name extends Component {
  render() {
    return (
      <div>
        <myContext.Consumer>
          {(context) => (
            <React.Fragment>
              <h1>Hello, {context.state.name}</h1>
              <h3>{context.state.address}</h3>
            </React.Fragment>
          )}
        </myContext.Consumer>
      </div>

    );
  }
}

class Age extends Component {
  render() {
    return (

        <div>
          <myContext.Consumer>
            {(context) => (
              <React.Fragment>
                <h1>You are {context.state.age} years old</h1>
                <h3>You were born in - {context.state.dob}</h3>
              </React.Fragment>
            )}

          </myContext.Consumer>
        </div>

    );
  }
}

class App extends Component {

  render() {
    return (
      <MyProvider>
        <div className="App">
          <Name />
          <Age />
        </div>
      </MyProvider>
    );
  }

}


export default App;

Context.js


export const myContext = React.createContext();

class MyProvider extends Component {
  state = {
    name: "Sam",
    address: "No.35,Main Street,Galle",
    age: 50,
    dob: "1970-10-21"
  }

  render() {
    return (
      <myContext.Provider value={{
        state: this.state
      }}>
        {this.props.children}
      </myContext.Provider>
    )
  }
} 

export default MyProvider;

您导入有误。当您导出为 default 时,您应该不带大括号导入它。

export default CLASS

import CLASS from

或者您可以将您的 class 导出为导出 class,然后您将像您一样导入它:

export class A

import { A }

更新: 请看

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export