typescript
1import React, {useState, useEffect} from "react"; 2 3interface User { 4 id: number; 5 name: string; 6 age: number; 7 birth: Date; 8 ... 9 .. 10} 11 12const user1 = {id: 1, name: "user1", age: 20, birth...}; 13 14const [userIdentifier, setUserIdentifier] = useState<Pick<User, "id" | "name", | "age">>(); // Userからid, name, ageプロパティ以外を除いたオブジェクトリテラル型 15 16useEffect(() => { 17 setUserIdentifier({...user1}) // <- birth以下も含まれてしまう 18 setUserIdentifier({id: user1.id, name: user1.name, age: user1.age}) // <- 冗長 19}, []) 20
上記で、User型から一部のプロパティ(id, name, age)のみを含んだ型のstateを更新したい場合、上の例以外で上手い書き方が無いか教えてください。(理想は簡潔なコードで、userIdentifier = {id: 1, name: "user1", age: 20}となっていることです。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。