第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

<input ref={node=>{input=node}}/>的疑問

let AddTodo=({dispatch})=>{

let input;


return (<div>

<from onsubmit={e=>{

e.preventDefault();

if(!input.value.trim()){return}

dispatch(addTodo(input.value))

input.value=""

}}>

<input ref={node=>{input=node}}/>

<button type="submit">

AddTodo

</button>

</div>

)

}

這里的node參數(shù)是不是我們在輸入框里輸入的值?。咳缓笏麄鹘o一個叫input的自定義變量。那他的value屬性是怎么來的,為什么{input=node}就可以默認把數(shù)據(jù)給value屬性。

正在回答

7 回答

是的哈,類似jquery

0 回復 有任何疑惑可以回復我~
#1

_莫忘初衷_ 提問者

非常感謝!
2016-12-27 回復 有任何疑惑可以回復我~

非受控組件的調(diào)用方式,官方文檔提到的ref,可以寫成受控的形式

0 回復 有任何疑惑可以回復我~

當一個有 ref 的組件被 mount 的時候,如果 ref 屬性是一個函數(shù),如果是,就會調(diào)用這個函數(shù)。

這個函數(shù)就相當于 `node => this.input = node`,node 就是這個 input 元素,也就是說把這個 input 元素記錄到成員變量 input 上。以后就可以通過成員變量來獲取 input 元素了。

0 回復 有任何疑惑可以回復我~

補充,可以參考http://www.ruanyifeng.com/blog/2015/03/react.html,事實上這里的回調(diào)函數(shù)取代了本來應該有的事件觸發(fā)的語句

3 回復 有任何疑惑可以回復我~

樓上2個答的都對,通過回調(diào)函數(shù)才能讓node拿到input的dom元素,然后利用ref的屬性可以獲取元素的輸入

0 回復 有任何疑惑可以回復我~

我也不是很清楚,但是覺得樓上那個不對?

https://facebook.github.io/react/docs/refs-and-the-dom.html

ref附帶一個回調(diào)函數(shù),函數(shù)在組件掛載或者卸載的時候立刻調(diào)用,

當ref屬性用于HTML元素(對應react的component)時,底層的DOM元素會作為參數(shù)傳給回調(diào)函數(shù)

這里就是說node這個形參實際接受了input的dom元素,

然后回調(diào)函數(shù)中將拿到的dom賦值給之前聲明的input

3 回復 有任何疑惑可以回復我~

es6新屬性,相當于:

const node = this.ref.input

獲取元素的

0 回復 有任何疑惑可以回復我~
#1

_莫忘初衷_ 提問者

那node拿到的是真實的inputDOM節(jié)點對嗎 然后才會有value屬性
2016-12-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
在React中使用Redux數(shù)據(jù)流
  • 參與學習       27794    人
  • 解答問題       42    個

在react中使用redux數(shù)據(jù)流,通過一個樣例工程的開發(fā)了解具體原理

進入課程

<input ref={node=>{input=node}}/>的疑問

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號