日9 :完了された反応
9737 ワード
fyeamn tehcinuqe syas taht taecinhg sbujcetはそれを良くしてくれます.このポストの間違いを見たなら、あなたは私を訂正するかもしれない
任意の状態の更新がここで発生すると、自動的にレンダリングされます.これはAPIの更新に便利です.一旦データがそこにあったならば、それは描かれます💫.
あなたが一時的なコンポーネントを持っていると言いましょうDuolingo ).
コンポーネントが画面の外に出た後(あなたの目袋を見た)、それに関連する何かをクリーンアップする必要があります🪥, イベントリスナーを含む.
この機能を使用すると、次のようになります.
以前に設定したように、状態変更はUIの再レンダリングを引き起こします.あなたがUIのどんな変化も引き起こさない複数の州を持っているならば、それはちょうどCPU時間とメモリの無駄です.
そして、あなたのユーザは、おそらくこの'機能'を好まないでしょう🥴.
代わりに、コンポーネントを再レンダリングするときに反応することができます.
インラインスタイリングは、反応で一般的な練習です.特にUIコンポーネントが来て行くことを考える.
構文は異なるが、
また、ユニットのない番号
はい、
あなたが誘惑されている場合は、反応であなたの全体のアプリケーションを書くことができます.
問題は、ユーザーがサイトの負荷を見るのに時間がかかることです.もう一つの問題は、JSはGoogleのクローラ(私も)で理解できる何かではないので、あなたのSEOの機会を壊す.
つの石を1つの石を使用して、それらの一部をサーバーにレンダリングします.
ああ、それはすべての反応である🎉. 私たちの次の冒険はredux、それは国家管理ライブラリ(私はそれが何であるかわからない)です👀.
ハッピー学習みんな!
フォローミーオンGithub !
また!
ライフサイクルコンポーネント
componentDidMount()
class Cupcake extends React.Component {
constructor(props) {
super(props);
this.state = {
flour: 200
};
}
componentDidMount() {
let newFlourMass = delayedApiCall(); // I should learn how to call an API lol
this.setState({
flour: newFlourMass
});
}
render() {
return (
<div>
<p>Flour amount: {this.state.flour}</p>
</div>
);
}
}
また、ほとんどの人は、イベントのリスナーを置くので、これは、それを注🗒️.componentWillUnmount()
コンポーネントが画面の外に出た後(あなたの目袋を見た)、それに関連する何かをクリーンアップする必要があります🪥, イベントリスナーを含む.
この機能を使用すると、次のようになります.
class Cupcake extends React.Component {
constructor(props) {
super(props);
this.state = {
flour: 200
};
}
componentWillUnmount() {
document.removeEventListener("old-event", eventHandler);
}
render() {
return (
<div>
<p>Flour amount: {this.state.flour}</p>
</div>
);
}
}
shouldComponentUpdate()
そして、あなたのユーザは、おそらくこの'機能'を好まないでしょう🥴.
代わりに、コンポーネントを再レンダリングするときに反応することができます.
class justTens extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
shouldComponentUpdate() {
return this.state.count % 10 === 0
}
render() {
return (
<div>
<p>Multiples of 10: {this.state.count}</p>
</div>
);
}
}
のみshouldComponentUpdate()
リターンtrue
コンポーネントが再描画されます.それは甘い🍬?インラインCSS
インラインスタイリングは、反応で一般的な練習です.特にUIコンポーネントが来て行くことを考える.
構文は異なるが、
<p style={{backgroundColor: "purple", fontSize: 70}}>Life sucks.</p>
それらのキャメラに注意してください?JSXはここで標準的なCSSを受け付けません.したがって、キーペア値でオブジェクトリテラル(カーリーブラケット)を使用しなければなりません.また、ユニットのない番号
px
. 文字列を使用して、その単位で例えばgを渡す必要があります."7em"
.コンポーネントを条件で返す
はい、
if
声明はこれを行うことができます(そして、それらの人々のためにternariesも)、しかし、この解決は単に優雅です:<div>
<p>Number of Children Captured: {childCount}</p>
{childCount === 0 && <h3>Dang it.</h3>}
</div>
を返します.true
, その後、JSXが返されます.初期のレンダリング🕊️
あなたが誘惑されている場合は、反応であなたの全体のアプリケーションを書くことができます.
問題は、ユーザーがサイトの負荷を見るのに時間がかかることです.もう一つの問題は、JSはGoogleのクローラ(私も)で理解できる何かではないので、あなたのSEOの機会を壊す.
つの石を1つの石を使用して、それらの一部をサーバーにレンダリングします.
ReactDOMServer.renderToString(<h1>Render pls.</h1>);
余韻
ああ、それはすべての反応である🎉. 私たちの次の冒険はredux、それは国家管理ライブラリ(私はそれが何であるかわからない)です👀.
ハッピー学習みんな!
フォローミーオンGithub !
また!
Reference
この問題について(日9 :完了された反応), 我々は、より多くの情報をここで見つけました https://dev.to/kemystra/day-9-done-react-1c42テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol