React update state on props change

問題 今天在研究 React 遇到一個問題 當我從外面更新 props 的時候 component 內的 state 不會更新 function Input(props){ const [text, setText] = React.useState(props.text); return ( <input type="text" value={text}> ) } 如同上面程式,第二行的 useState 不會隨著 props 更新而更新 解法 後來找到解法,加上一個 useEffect 監聽 props.text 然後更新 state 就好了 function Input(props){ const [text, setText] = React.useState(props.text); React.useEffect(() => { setText(props.text); }, [props.text]); return ( <input type="text" value={text}> ) } 如此一來 state 就會和 props 同步了...

2020-July-12 · 1 分鐘 · simba-fs

讓 YCM 接受 jsx

最近寫ˋreact 的時候只要遇到 jsx 語法 YCM 就會跳出這個錯誤 Cannot use JSX unless the '--jsx' flag is provided. (FixIt) 研究之後發現這是要給 tsserver 一個 --jsx 的 flag 就可以解決 爬文半個小時後發現只要在專案下的 jsconfig.json { "compilerOptions": { "target": "es6", "checkJs": true + }, + "compilerOptions": { + "jsx": "react" } }

2020-July-4 · 1 分鐘 · simba-fs