自発反応スタック
複雑さの単純さと美学
生命や図書館やフレームワークの仕組みを理解しようとして睡眠を失うことは、解決策やライブラリが動作し、長期的なサポートを持っている限り私はそれを大丈夫です
このフックは非同期セレクタの値を読むために使用されます.このフックはコンポーネントを暗黙のうちに指定した状態にします.
このフックは、現在の状態の
state :セレクタの状態を示します.使用可能な値は
内容:この 以下の例のコードは、Next JSを使用しているRepliljsから
https://htmltojsx.in/
生命や図書館やフレームワークの仕組みを理解しようとして睡眠を失うことは、解決策やライブラリが動作し、長期的なサポートを持っている限り私はそれを大丈夫です
反跳JS
asyncクエリの例
userecoilvalueloadableフックを使用する。
このフックは非同期セレクタの値を読むために使用されます.このフックはコンポーネントを暗黙のうちに指定した状態にします.
このフックは、現在の状態の
Loadable
オブジェクトを次のインターフェイスで返します.state :セレクタの状態を示します.使用可能な値は
'hasValue'
、'hasError'
、'loading'
である.内容:この
Loadable
で表される値.状態が'hasValue'
ならば、それは実際の値です、状態が'hasError'
ならば、それは投げられたエラーオブジェクトです、そして、状態が'loading'
ならば、それは値の見込みです.useRecoilValueLoadable
フックを実装しますimport { useRouter } from "next/router";
import React from "react";
import { useRecoilValueLoadable } from "recoil";
import getAuthUser from "../store/selectors/getAuthUser";
const withAuthConsumer = (WrappedComponent: any) => {
return (props: any) => {
const authUser = useRecoilValueLoadable(getAuthUser);
const router = useRouter();
// checks whether we are on client / browser or server.
if (typeof window !== "undefined") {
if (authUser.state == "loading") {
return null;
}
if (
authUser.state == "hasValue" &&
authUser.contents?.user_type == "consumer"
) {
return <WrappedComponent {...props} />;
} else if (
authUser.state == "hasValue" &&
authUser.contents?.user_type == null
) {
router.push("/auth/login");
return null;
} else {
router.push("/auth/login");
return null;
}
}
// If we are on server, return null
return null;
};
};
export default withAuthConsumer;
詳細については、useRecoilValueLoadableを確認してください.HTMLからJSXへ
https://htmltojsx.in/
Reference
この問題について(自発反応スタック), 我々は、より多くの情報をここで見つけました https://dev.to/kachidk/an-opiniated-react-stack-im6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol