抹桥的博客
Language
Home
Archive
About
GitHub
Language
主题色
250
243 文字
1 分
Reactソースコード概要 - エントリファイル

本シリーズの記事では、Reactの最新バージョンである16.0.0-beta.5を基準としています。 まず、エントリファイルであるReactEntry.jsを見てみましょう。

var ReactBaseClasses = require("ReactBaseClasses");
var ReactChildren = require("ReactChildren");
var ReactElement = require("ReactElement");
var ReactVersion = require("ReactVersion");

var onlyChild = require("onlyChild");

依存モジュール:

  • ReactBaseClasses
  • ReactChildren
  • ReactElement
  • onlyChild
  • ReactElementValidator 次に:
var createElement = ReactElement.createElement;
var createFactory = ReactElement.createFactory;
var cloneElement = ReactElement.cloneElement;

if (__DEV__) {
  var ReactElementValidator = require("ReactElementValidator");
  createElement = ReactElementValidator.createElement;
  createFactory = ReactElementValidator.createFactory;
  cloneElement = ReactElementValidator.cloneElement;
}

ご覧の通り、開発環境ではコンポーネントの検証機能が提供されています。

var React = {
  Children: {
    map: ReactChildren.map,
    forEach: ReactChildren.forEach,
    count: ReactChildren.count,
    toArray: ReactChildren.toArray,
    only: onlyChild,
  },

  Component: ReactBaseClasses.Component,
  PureComponent: ReactBaseClasses.PureComponent,
  unstable_AsyncComponent: ReactBaseClasses.AsyncComponent,

  createElement: createElement,
  cloneElement: cloneElement,
  isValidElement: ReactElement.isValidElement,

  createFactory: createFactory,

  version: ReactVersion,

  __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {
    ReactCurrentOwner: require("ReactCurrentOwner"),
  },
};

上記がReactが提供するすべてのAPIです。 今後の記事で、これらのAPIの実装について順次解説していきます。

関連記事#

  • {% post_link react-source-code-analyze-1 Reactソースコード解析 - エントリファイル %}
  • {% post_link react-source-code-analyze-2 Reactソースコード解析 - ReactBaseClasses %}
  • {% post_link react-source-code-analyze-3 Reactソースコード解析 - ReactChildren %}
  • {% post_link react-source-code-analyze-4 Reactソースコード解析 - ReactElement %}
  • {% post_link react-source-code-analyze-5 Reactソースコード解析 - onlyChildren %}

この記事は 2017年9月21日 に公開され、2017年9月21日 に最終更新されました。2937 日が経過しており、内容が古くなっている可能性があります。

Reactソースコード概要 - エントリファイル
https://blog.kisnows.com/ja-JP/2017/09/21/react-source-code-analyze-1/
作者
Kisnows
公開日
2017-09-21
ライセンス
CC BY-NC-ND 4.0