第6週1日目
4993 ワード
1.
Destructuring
2.type
Generic
3.ネットワーク編集
Web-Editor
4.支払API
lamport
5.地図連動
Map
1.Destructuring
2.オブジェクトからのデータの削除
3.HOC(Custom-Hooks)
4.refetch(Cache-Modify)
配列の様子から見ると.
useStateの場合
ただ使いにくいだけです.
しかし、ここには知っていることがあります.
通常
これは配列の特性上、
オブジェクトの値を削除する場合は、元のオブジェクトに触れない方法を使用します.
restは簡単な慣例ですが、以下のように個別の名前を変えてもいいです.
Custom Hooksも同様に機能を含む関数ですが、Hooksとの違いは、私たち自身が作成した(Custom)Hooksです.
主にfunctionでuserState、userEffectなど他のhooksが既に使用されている場合に親関数が使用されます...名前をつけて使う.
useを追加しないと実現できないわけではありません.
しかし、これはHooksたちがプロジェクトの実行順序などの面で差異に微細な影響を及ぼす提案である.
refetchは、主にクエリー時にデータの追加のインポートまたはリフレッシュを実行します.
ただし、規模の小さいサーバがデータを再要求するだけであれば、大きな問題はありません.
大規模なタスクがrefretchされると、サーバ上の負荷が増大します.
この負荷を軽減するには、キャッシュを変更して新しいファイルをロードする必要があります.このプロセスをキャッシュ-修正と呼びます.
入力
次に、
範囲は、
コードの
const{},const[]
原理Destructuring
2.type
Generic
3.ネットワーク編集
Web-Editor
4.支払API
lamport
5.地図連動
Map
1.Destructuring
2.オブジェクトからのデータの削除
3.HOC(Custom-Hooks)
4.refetch(Cache-Modify)
こうぞうぶんかいわりあて
オブジェクト
const child={
name: "철수"
age:13,
school: "다람쥐초등학교"
}
という名前のオブジェクトがある場合は、値を入力します.const name = child.name
const age = child.age
const school = child.school
歯const {name, age, school} = child
交換して持ってきてもいいです.整列
配列の様子から見ると.
onst classmates = ["철수", "영희", "훈이"]
配列名のときにこれらの値を割り当てるにはconst child1 = classmates[0]
const child2 = classmates[1]
const child3 = classmates[2]
同じ考え構造分解によって配分されると、const [child1, child2, child3] = classmates
.useStateの場合
const[state, setState] = useState("")
const bbb = useState("")
bbb[0] = state
bbb[1] = setState
bbb[1](변경할값)
でbbb[0]
人state
人を変更できます.ただ使いにくいだけです.
しかし、ここには知っていることがあります.
通常
useState()
またはuseRecoilState()
を使用する場合const [state] = useState()/useRecoilState()
const [,setState] = useState()/useRecoilState()
このようにしてstate
部を空にすると、,
が追加され、setState
が後に記載される.Global State
人recoil
によく使われるかもしれません.これは配列の特性上、
[setState]
=useに,
がなければ[,setState]
となり、state
のようになってしまうので、空いているところに ,
と書きます.RESTパラメータ
オブジェクトの値を削除する場合は、元のオブジェクトに触れない方法を使用します.
const child = {
name: "철수"
age: 8,
school: "다람쥐초등학교",
money: 2000,
hobby: "수영"
上記のオブジェクトがあると思う場合は、money
とhobby
を削除します.const {money, hobby, ...rest} = child
に示すように...rest
にはname, age, school
が含まれています.rest
>{name:'철수', age:8, school:'다람쥐초등학교'}
ここから所望の結果値としてrest.name, rest.age, rest.school
を抽出することができる.restは簡単な慣例ですが、以下のように個別の名前を変えてもいいです.
`const {money, hobby, ...deletedMoneyHobby} = child`
console.log(deletedMoneyHobby) // {name:'철수', age:8, school:'다람쥐초등학교'}
構造分解配分を適用し、消去したい[key, value]
を分離し、残りを使用すればよい.Custom Hooks
Hooks(useState, useQuery, useMutation, useRouter .....)
は、反応に複数の機能を含む関数である.Custom Hooksも同様に機能を含む関数ですが、Hooksとの違いは、私たち自身が作成した(Custom)Hooksです.
主にfunctionでuserState、userEffectなど他のhooksが既に使用されている場合に親関数が使用されます...名前をつけて使う.
useを追加しないと実現できないわけではありません.
しかし、これはHooksたちがプロジェクトの実行順序などの面で差異に微細な影響を及ぼす提案である.
// Custom Hooks를 사용할경우
// 안쪽에 Hooks 들이 있을 경우
function useAaa(){
useState()
useEffetc()
}
// 그냥 사용할 경우
// 안쪽에 Hooks 들이 없을 경우
function aaa(){
bbb(ccc){
return ccc
}
}
refetch(Cache-Modify)
refetchは、主にクエリー時にデータの追加のインポートまたはリフレッシュを実行します.
ただし、規模の小さいサーバがデータを再要求するだけであれば、大きな問題はありません.
大規模なタスクがrefretchされると、サーバ上の負荷が増大します.
この負荷を軽減するには、キャッシュを変更して新しいファイルをロードする必要があります.このプロセスをキャッシュ-修正と呼びます.
const onClickSubmit = async () => {
await createBoard({
variables: {
createBoardInput: {
writer: "영희",
password: "1234",
title: "제목입니다~",
contents: "내용입니다@@@",
},
},
});
};
こんな部分があったら試してみて、createBoardInput = :{writer, password, title, contents}
上記の4つの新しいデータを含む変異を生成するもので、文章リストをインポートする場合は、refetchではなくrefetchをどのように使用すればいいのでしょうか.const onClickSubmit = async () => {
await createBoard({
variables: {
createBoardInput: {
writer: "영희",
password: "1234",
title: "제목입니다~",
contents: "내용입니다@@@",
},
},
update(cache, { data }) {
// data.createBoard
cache.modify({
fields: {
fetchBoards: (prev) => {
return [data.createBoard, ...prev]; // 10개(기존), 1개(새로추가한)
},
},
});
},
});
};
上記のように、既存のrefetchQuery
の部分にupdate(cache, {data}){}
を加えます.入力
{data
}のcache
はupdate
です.次に、
cache.modify({fields: {} })
を追加してキャッシュの変更を求めます.範囲は、
fields
によって決定される.コードの
fields
はfetchBoards:
であり、文書の情報を表示します.Query
は、既存のデータreturn
data.createBoard
である....prev(새로 추가된 mutation data)
は「以前」を表していますが、更新前にcreateBoardで追加した文章が以前のデータになったのでそうなります.Reference
この問題について(第6週1日目), 我々は、より多くの情報をここで見つけました https://velog.io/@pbs1014/6주1일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol