React 和 HTML 之間有哪些屬性的行為不同?


ReactHTML 處理屬性的方式不同。在 React 中,某些屬性被視為 JavaScript,而在 HTML 中則被視為字串。這在將 React 和 HTML 結合使用時可能會導致混淆。

為什麼 React 將某些屬性視為 JavaScript?

React 將某些屬性視為 JavaScript,因為它們用於修改元件的行為。例如,"onClick" 屬性用於向元素新增事件偵聽器。在 React 中,此屬性被視為 JavaScript,而不是字串。

這如何影響 React 和 HTML 的協同工作?

處理屬性的這種差異在將 React 和 HTML 結合使用時可能會導致問題。例如,如果您嘗試使用 React 的 onClick 屬性向 HTML 元素新增 onClick 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

React 視為 JavaScript 的屬性

React 將以下屬性視為 JavaScript:onClick、onChange 和 onSubmit。

現在讓我們詳細瞭解一下每個屬性。

onClick 屬性

onClick 屬性用於向元素新增事件偵聽器。在 React 中,此屬性被視為 JavaScript,而不是字串。

這意味著,如果您嘗試使用 React 的onClick 屬性向 HTML 元素新增 onClick 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用onClick 屬性 -

```
<button onClick={() => alert('Hello, world!')}>
 Click me!
</button>
```

onChange 屬性

onChange 屬性用於向元素新增事件偵聽器。在 React 中,此屬性被視為 JavaScript,而不是字串。

這意味著,如果您嘗試使用 React 的onChange 屬性向 HTML 元素新增onChange 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用onChange 屬性 -

```
<input onChange={(event) => console.log(event.target.value)} />
```

onSubmit 屬性

onSubmit 屬性用於向元素新增事件偵聽器。在 React 中,此屬性被視為 JavaScript,而不是字串。

這意味著,如果您嘗試使用 React 的 onSubmit 屬性向 HTML 元素新增onSubmit 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用 onSubmit 屬性 -

```
<form onSubmit={(event) => event.preventDefault()}>
 ...
</form>
```

React 不視為 JavaScript 的 HTML 屬性

React 不將以下 HTML 屬性視為 JavaScript:href、src 和 disabled。

現在讓我們詳細瞭解一下每個屬性。

href 屬性

href 屬性用於指定連結指向的頁面的 URL。在 React 中,此屬性被視為字串,而不是 JavaScript。

這意味著,如果您嘗試使用 React 的 href 屬性向 HTML 元素新增href 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用 href 屬性 -

```
<a href="/about">About</a>
```

src 屬性

src 屬性用於指定 img 元素顯示的影像的 URL。在 React 中,此屬性被視為字串,而不是 JavaScript。

這意味著,如果您嘗試使用 React 的 src 屬性向 HTML 元素新增 src 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用 src 屬性 -

```
<img src="/logo.png" alt="Logo" />
```

disabled 屬性

disabled 屬性用於指定是否應停用輸入元素。在 React 中,此屬性被視為字串,而不是 JavaScript。

這意味著,如果您嘗試使用 React 的 disabled 屬性向 HTML 元素新增 disabled 事件偵聽器,它將不起作用,因為 React 會將其視為字串。

以下程式碼片段顯示瞭如何在 React 中使用 disabled 屬性 -

```
<input type="text" disabled />
```

React 和 HTML 處理屬性的方式不同。在 React 中,某些屬性被視為 JavaScript,而在 HTML 中則被視為字串。這在將 React 和 HTML 結合使用時可能會導致混淆。

更新於: 2022-08-04

202 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.