React hooks - useEffect
前言 這篇是 useEffect,在這個 Hook 寫完之後就會直接進入實戰了,話不多說,請直接開始閱讀文章! 官網 文章架構 如上篇,我會按照官方文件的架構,首先講解定義,再用一些簡單的範例講解應該怎麼使用這些 Hooks,最後再講解一些容易犯錯的用例。 定義 這個 Hook 的用途是當你需要與 React 外部的東西互動時,將這些外部互動包成一組 “Effect”,用來將切開元件與外部系統的互動,並且避免不穩定的多次渲染。 useEffect(setup, dependencies?) 我們可以看到他的初始化分成兩個部分: 傳入 setup: 傳入一個 function,與外部系統互動的細節,包含當系統結束時的後處理,為一組完整的 Effect。 dependencies: 可忽略,當需要時傳入一組 Array,做為這組 Effect 的依賴,當依賴的值改變時,就會觸發後處理,並且重新初始化,互動 / 連結外部系統。 範例 以下是使用 useEffect 的範例。 import { useEffect } from 'react'; import { createConnection } from './chat.js'; function ChatRoom({ roomId }) { const [serverUrl, setServerUrl] = useState('https://localhost:1234'); useEffect(() => { // Effect setup function const connection = createConnection(serverUrl, roomId); connection.connect(); // 後處理 function return () => { connection....