useStateを1行でまとめて書きたい
useContextやuseStateなどのHooksを何度も使う場合に、省略する方法を考えました。
個人的にちょっと便利です。
useSomeHooks.js
export const useSomeStates = (useState, initialValues=[]) => initialValues.map(useState)
export const useSomeContexts = (useContext, stores=[]) => stores.map(useContext)
index.js
import React, {useState, useContext} from "react"
import {useSomeStates, useSomeContexts} from "./useSomeHooks.js"
// in your components
const [[name, setName], [age, setAge], [isHandsome, setIsHandsome]] = useSomeStates(useState, ["", 0, false])
const [{state: {tasks}}, {state: {user}}] = useSomeContexts(useContext, [taskStore, userStore])
より良い方法があれば教えて下さい。