🐈
夏休み Day1
作成日:
2021/08/06
0
React
- useReducer
まとめて状態管理ができる。
一部抜粋
const [emailState, dispatchEmail] = useReducer(emailReducer, {
value: '',
isValid: null,
});
const emailReducer = (state, action) => {
if (action.type === 'USER_INPUT') {
return { value: action.val, isValid: action.val.includes('@') };
}
if (action.type === 'INPUT_BLUR') {
return { value: state.value, isValid: state.value.includes('@') };
}
return { value: '', isValid: false };
};
- useContext
これは結構やったので感覚的に分かってきた。
一部抜粋
const AuthContext = createContext({
isLoggedIn: false,
// ダミー関数をおいておくとオートコンプリートが効くので便利
onLogout: () => {},
onLogin: (email, password) => {},
});
export const AuthContextProvider = (props) => {
const [isLoggedIn, setIsLoggedIn] = useState(false);
// 初回レンダリング時にローカルストレージからログイン情報を取得。
// あればログイン管理をtrueに
useEffect(() => {
const storedUserLoggedInInformation = localStorage.getItem('isLoggedIn');
if (storedUserLoggedInInformation === '1') {
setIsLoggedIn(true);
}
}, []);
const logoutHandler = () => {
localStorage.removeItem('isLoggedIn');
setIsLoggedIn(false);
};
const loginHandler = () => {
localStorage.setItem('isLoggedIn', '1');
setIsLoggedIn(true);
};
return (
<AuthContext.Provider
value={{
isLoggedIn: isLoggedIn,
onLogout: logoutHandler,
onLogin: loginHandler,
}}
>
{props.children}
</AuthContext.Provider>
);
};
export default AuthContext;
オブジェクトなんかもContectに入れられるから何でもできそうだけど、
stateの変更が頻繁に行われるものでは使わないそうな。
createContext
Provider
valueで渡す
このあたりがポイント。
後はProviderでラッピングした中身を{props.Children}で渡すとか
-
antd
コンポーネントのスタイルは{{}}で結構制御できる
こちら記事化予定 -
react-router
チョット遊んでみました。
こちらもantdと合わせて記事予定。
記事用にきちんとルーティングしようとすると大変。
ルーティング苦手。 -
Redux
トラハックさんのRedux基礎講座終了。
動きがだいぶ終えるようになった。
実践編やるかは不明。今はtoolkitがあるし。
でもfirebaseもやってくれてるし、凄く良さそうなのよね。
JavaScript
- 基本構文おさらい
forとかオブジェクトの事とか - CSSについてもやった
これは全然知らない事ばっか。
振り返り
初日は中々エンジンがかからず、だらけ気味になってしまった。
夏休みはReduxでtodoくらいは作りたい。いや、作る
CSSもしっかりフレームワーク当てて、ポートフォリオと言えるレベルの物を