react學習---回撥ref中回撥執行次數的問題
阿新 • • 發佈:2022-01-03
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>3_回撥ref中回撥執行次數的問題</title>
</head>
<body>
<!-- 準備好一個“容器” -->
<div id="test"></div>
<!-- 引入react核心庫 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- 引入react-dom,用於支援react操作DOM -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 引入babel,用於將jsx轉為js -->
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">
//建立元件
class Demo extends React.Component{
state = {isHot:false}
showInfo = ()=>{
const {input1} = this
alert(input1.value)
}
changeWeather = ()=>{
//獲取原來的狀態
const {isHot} = this.state
//更新狀態
this.setState({isHot:!isHot})
}
saveInput = (c)=>{
this.input1 = c;
console.log('@',c);
}
render(){
const {isHot} = this.state
return(
<div>
<h2>今天天氣很{isHot ? '炎熱':'涼爽'}</h2>
{/*<input ref={(c)=>{this.input1 = c;console.log('@',c);}} type="text"/><br/><br/>*/}
<input ref={this.saveInput} type="text"/><br/><br/>
<button onClick={this.showInfo}>點我提示輸入的資料</button>
<button onClick={this.changeWeather}>點我切換天氣</button>
</div>
)
}
}
//渲染元件到頁面
ReactDOM.render(<Demo/>,document.getElementById('test'))
</script>
</body>
</html>