6日目:ミーティングミーティング
8866 ワード
Feynman Technologyは、教科を教えることがあなたをより良くすると言います.このポストの間違いを見たなら、あなたは私を訂正するかもしれない
JS文字列の中にHTMLを書くことはお尻の痛みですので、開発者がJSコードでHTMLを書くのを容易にするためにJSXが導入されます.
JSX構文は一度に1つの要素だけで動作することに注意してください.あなたは、より多くの要素を中で巣を作ることができます.
そして、コメントするために
HTML構文がjsxで異なる特殊な場合がいくつかあります.重要なものは
もう一つの重要な点は、JSXがすべての要素が自己閉鎖であることを許容するということです.
反応は、UIを構築するためのJSライブラリですので、それは私たちの好みにDOMを操作するために必要な電力を持っています.
DOMに要素をレンダリングするには
反応中のコンポーネントを書くには2つの方法があります. ステートレス機能性成分 このアプローチ
エス6 以下に構文を示します:
The
このコンポーネントをDOMに描画するには、まだ
このように、コンポーネントを使用してカスタムHTMLタグをJSXに作成できます.これらのタグは
また、HTMLタグとして、ネストすることができます🤯!
Woohoo、今日はたくさんやった.これは私にとって非常に良い進歩です、そして、私はそれを誇りに思います.私は、これを通して私の熱意を共有し、それを通過し続けることを望んでいる他の人を願っています.
フォローミーオンGithub !
また!
JSXと反応
JS文字列の中にHTMLを書くことはお尻の痛みですので、開発者がJSコードでHTMLを書くのを容易にするためにJSXが導入されます.
let elem = <h1>Yeet</h1> // HTML made easy in JS! 🚀
しかし、JSXはJS構文を違反しますので、まずバニラJSにコンパイルする必要があります.バベルトランスポーターは、このタスクのための人気のあるオプションです.JSX構文は一度に1つの要素だけで動作することに注意してください.あなたは、より多くの要素を中で巣を作ることができます.
そして、コメントするために
{* comment *}
構文.HTML構文がjsxで異なる特殊な場合がいくつかあります.重要なものは
class
:let container = <div className="Nope"></div>;
実際には、JSXのすべてのHTML属性に従ってくださいcamelCase
🐪 ネーミングonclick
なるonClick
, など.もう一つの重要な点は、JSXがすべての要素が自己閉鎖であることを許容するということです.
let abnormal = <div /> // I'm self closing!
let closed = <br /> // I need to be closed!
最後に、JSコードを構文内で挿入することもできます.let username = "Bob Ross";
let title = <h1>My name is {username}</h1>;
オールアバウト
反応は、UIを構築するためのJSライブラリですので、それは私たちの好みにDOMを操作するために必要な電力を持っています.
DOMに要素をレンダリングするには
ReactDOM.render()
メソッド:let box = document.getElementById("section1");
let content = <h1>Cool!</h1>;
ReactDOM.render(content, box);
反応は、コンポーネントの概念で動作します.基本的に、反応は、より小さな機能的な部分にウェブサイトを壊すために、開発者を勧めます.これにより、UIコードを関数コードから分離することが容易になります.反応中のコンポーネントを書くには2つの方法があります.
function
ステートレスのコンポーネントを書くためのJSでは(私はまだ州について学んでいますが、ステートレスコンポーネントはデータを受け取り、レンダリングすることはできますが、データを追跡したり管理したりできません.const Recipe = (props) => {
return <ul>
<li>Flour</li>
<li>Egg</li>
<li>Love</li>
</ul>
}
それらは資本化された名前を持っていなければならなくて、JSXnull
. props
は引数の標準名で、矢印関数構文は非常に一般的です.class
構文class Drinks extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<h1>Coffee, Tea, and more!</h1>
);
}
};
これは威圧的に見えるかもしれませんが、今のところ重要なことはrender()
関数.残りはほとんどの時間のボイラー板です.ステートレス機能コンポーネントと同じように、資本名を指定する必要があります.The
Drinks
クラスはReact.Component
クラス.The constructor()
関数はクラスを初期化する責任があります.The super()
関数は、コンストラクタ関数を親から借りればよいReact.Component
. The render()
関数はDOMレンダリングのために呼び出されます.このコンポーネントをDOMに描画するには、まだ
ReactDOM.render()
これを行うには、しかし、別の構文を使用します.let target = document.body;
ReactDOM.render(<Drinks />, target);
コンポーネントはJSXのカスタムHTMLタグとして使用できます.これは次の部分に役立ちます.ミックスとマッチ要素
このように、コンポーネントを使用してカスタムHTMLタグをJSXに作成できます.これらのタグは
render()
コンポーネントの関数が戻ります.また、HTMLタグとして、ネストすることができます🤯!
class Drinks extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<h1>Coffee, Tea, and more!</h1>
);
}
};
const Menu = (props) => {
return (
<div>
<Drinks />
<p>Lorem Ipsum Dolor</p>
</div>
);
このカスタムHTMLタグは他のように振る舞うので、非常に柔軟です.余韻
Woohoo、今日はたくさんやった.これは私にとって非常に良い進歩です、そして、私はそれを誇りに思います.私は、これを通して私の熱意を共有し、それを通過し続けることを望んでいる他の人を願っています.
フォローミーオンGithub !
また!
Reference
この問題について(6日目:ミーティングミーティング), 我々は、より多くの情報をここで見つけました https://dev.to/kemystra/day-6-meeting-react-13dbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol