React のカスタムフック (のような) マクロ?
P粉393030917
P粉393030917 2024-04-02 13:15:12
0
1
476

私は最近になって、Lisp コンテキストにおけるマクロが何であるかを理解し始めました。私の理解では、基本的にコードは 2 つのパスで実行されます。最初のパスでは、インタープリタはマクロの呼び出しを識別し、マクロの呼び出しをその戻り値に置き換えます。次に、コードが通常どおり実行されます。

これは、React のカスタム フックで何が起こるかのように見えます。たとえば、useOnlineStatus フックがある場合:

リーリー

これはマクロのようなものです。 useOnlineStatus フックを次のように使用する場合:

リーリー

これはマクロの呼び出しに似ています。したがって、次のような場合:

リーリー

最初のパスの後、次のように変換されます:

リーリー

その後、2 回目のパスでは正常に実行されます。これはカスタム フックで何が起こるかの正確なモデルですか?

P粉393030917
P粉393030917

全員に返信(1)
P粉647504283

目を細めると少し似ていますが、いくつかの点があります:

  1. ブラウザは JavaScript を解析して実行するために複数のパスを実行しますが、フックの呼び出しはこの例ではありません。したがって、コンポーネントの実行には、1 行ずつ実行し、命令が見つかったときに関数にステップインする 1 つのパスだけが必要です。

  2. 同じメンタル モデルを すべての 関数呼び出しに適用できます。電話をかけるとき:

リーリー

これは、Math.max 内のコードを解凍し、それを main 関数に組み込むことと考えることができます。しかし、実際はそうではありません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート