延續昨日的註冊,發現版本問題真的影響很大呢! 今天在寫的時候還是用舊式的寫法,報錯後又花了很多時間在找答案,統整一下問題們,可能有人也有跟我一樣的問題。
這兩個寫法其實是一樣的,會報錯的原因在於引入的內容,一開始沒有特別注意到所以才犯了這樣的錯誤><,後來有看到網路上有人問一樣的問題(連結),就不覺得犯這個錯很孤單了。
//法一
import { useState } from "react";
const [email,setEmail]=useState('');
//法二
import React from "react";
const [email,setEmail]=React.useState('');
input
for/htmlFor另一個報錯是在input
上,就像class在react裡面是className;for在這也會改成htmlFor。
官方文件有說到「React element 使用 htmlFor
來替代 for
,因為 for
在 JavaScript 是保留字。****」
用到了舊式寫法導致的報錯…才知道現在沒有這種寫法了!
//old
ReactDOM.render(<App />,document.getElementById("root"))
//new
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
都在解錯誤的一天….