我工作的一個陣營搜索組件,並需要得到搜索字段(文本字段)的值。ReactJS - getDOMNode()與使用狀態
是更好的做法是與使用getDOMNode()一個ref
或使用setState()
當字段的值發生變化?:
this.refs.searchInput.getDOMNode().value
VS
onChanged(e) {
setState({
fieldValue = e.target.value;
});
}
編輯:
此外,我讀過無數次,如果你可以避免修改狀態,那麼你應該。在這種情況下,我們有一種通過使用ref
來避免狀態的方法,那麼我們應該如何?
地看到,建議修改狀態引用這將是有趣的,不推薦,尤其是這是最常用的模式是修改國家自上而下的組件,而不是DOM的直接操作。例如,在React文檔中,有一個完整的示例將狀態用於搜索字段:https://facebook.github.io/react/docs/thinking-in-react.html – WiredPrairie