いいえインポート反応から反応します.ここになぜです!


情報源:The React Docs
それで、あなたがこのポストを読んでいるならば、あなたはおそらく反応する開発者か意欲的な反応開発者です.あなたが反応している間、あなたが上記の質問であるものは、あなた自身で遭遇するかもしれないものでありません.

Now, what triggered me to write this blog post is depicted in the screenshot below and further explained below the screenshot. Let's uncover this mystery together.



あなたが反応が使用されなかった1行を見ることができるように、現在、宣言されるが、読まれないか、または他の語で使われて扱われます.
はい人々、私はimport React from "react";以外の何についても話しています
もしかしたら何かが変わる可能性があるかもしれない.この新しい警告は、我々が常に必要でなくてもReactを輸入していたので、今のところ意味があります.
だからいつものように最初の1つで私たちの投稿を問題に分割しよう

なぜ我々は“反応”からの反応をインポートするか?


As I had already assumed that you're a react developer so I also assume that you know that React uses JSX.


しかし、ブラウザはJSXを理解していないので、ブラウザが理解しているJavaScriptで変換されなければならず、JSXのJSへの変換はBabelのようなコンパイラのために可能です.
現在、我々はすでに2020を越えて、17が反応するどんな新しい特徴も1つのものを導入しなかったものです.そして、それは我々の質問に答える鍵です.何だろう?

The support for a New Version Of JSX Transform.
I say it again.
The support for a New Version Of JSX Transform.


今、私たちは2つのJSX Transformを持っています.
それで、我々がしていた前に
import React from 'react';

function App() {
  return <h1>Hello World</h1>;
}
使用する古いJSX形式の変換
import React from 'react';

function App() {
  return React.createElement('h1', null, 'Hello world');
}
JSXはReact.createElementにコンパイルされて以来、反応はスコープで利用可能である必要があった.

Finally, one question is now answered.


しかし、我々は実際に元の質問を残しています。新しいJSX Transformで変更されたものは、JSX変換のために反応しないように「大丈夫」にしたものです。


Now to import React so that it can be in the scope and just only because React.createElement can be called is not a perfect choice.


この部分といくつかの他のperformance improvements and simplifications(我々がここで議論していない)を解決するために、BSelと協力して、JSXの新しいバージョンを存在に変えるように反応します.
反応は、ちょうどBACELのようなコンパイラによってだけ使用されるために反応パッケージに2つの新しいエントリポイントを加えることによって、ReactA 17で若干の変化を作りました.
したがって、現在、BabelがJSX Transformを実行するのに使用するこれらの2つの新しいエントリー点の入手可能性で、それは反応を通してJSX Transformをする必要を意味します.CreateElementはもはや必要です.
したがって、人々があなたが16より大きい反応版にあるならば、もはやimport React from "react"をする必要はありません.

PS: If you're on older version of React such as React 16 or 15 or even 0 then there's a good news for you. React has released React 0.14.0, React 15.7.0, and React 0.14.10 for people who are still on the older major versions.


だから今、すべての最新のJSXの変換を使用する必要がこれらの最新バージョンとBabelのようなサポートされているコンパイラです.
私はこの記事を読んで楽しんで、しばらくの間あなたの好奇心を落ち着かせることができた願っています.一方、チェックアウト私の他の記事をすることができます.
幸せな好奇心のリーダーに変換.
良い一日をお過ごしください.