Day24-操作DOM

前言

在React中通常我们并不会直接操作到DOM元素。

但有些情况反而需要操作DOM元素,来使使用者体验便更好。

useRef

  • 由於直接操作DOM,React并不知道状态改变

syntax

const refContainer = useRef(initialValue);

照惯例先把useRef打印出来

https://ithelp.ithome.com.tw/upload/images/20210921/20130419L3RciFnbxd.png

可以看到它是一个物件,并且要存取current才能取得value。


接下来我们实作如何让使用者focus在表单中

当使用者点击button,会操作DOM元素达到focus效果

而我们必须把useRef绑定在表单的ref身上。

这边我们不需要使用current属性,因为React会自动帮我们取得current属性。

https://ithelp.ithome.com.tw/upload/images/20210921/20130419gVG1h2RjnZ.png

import React, {useRef} from 'react'
function App() {
  let inputRef = useRef(null)
  
  return (
    <div>
      <input ref={inputRef} /> //binding the element
      <button onClick={() => inputRef.current.focus()}>Focus</button>
    </div>
  )
}

export default App

<<:  Day19 K平均演算法实作

>>:  #10 Pandas教学2

资产分类准则(asset classification guideline)

分类方案适用於整个组织。RD负责人定义一个是不合适的。此外,由於发布了资产分类准则,这意味着分类方...

【Day 02】- 网路爬虫环境设定(Python、pipenv、Vscode)

简介 各位好,在进入基本 Python 语法与本次铁人赛主题爬虫之前。第二天的内容将会带着各位一步一...

危险气息的研究室:尾递回 Tail Calls

研究生和大学生不同,跟着指导的教授有着独立的研究室,以滞留时间来看,可说是研究生的第二个家。 「呐,...

Day25 Gin with API Test

What is API Test? 我们可以把它想成Unit Test单元测试的一种,不过它所涵盖的...

部署 Kolla-Ansible 使用 External Ceph

在部署 Kolla-Ansible 时,虽然能够同时部署 Ceph Cluster,但是在一些情况下...