React之解决类中的this
<!DOCTYPE html>
<html>
<head>
? ? <meat charset="UTF-8">
? ? ? ? <title>React之解決類中的this</title>
</head>
<body>
? ? <!-- 準備好一個容器 -->
? ? <div id="test"></div>
? ? <!-- 核心庫 -->
? ? <script type="text/javascript" src="../js/react.development.js"></script>
? ? <!-- react-dom,操作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>
? ? <!-- 此處一定要寫babel -->
? ? <script type="text/babel">
? ? ? ? //1.創建組件
? ? ? ? class Weather extends React.Component{
? ? ? ? ? ?constructor(props){
? ? ? ? ? ? ? super(props)
? ? ? ? ? ? ? this.state={isHot:false} ?
? ? ? ? ? ? ? this.demo=this.test.bind(this) ? ? //test為Weather中的 test(),demo在31行使用 ? ? ?
? ? ? ? ? ?}
? ? ? ? ? ?render(){
? ? ? ? ? ? ? ?const {isHot} =this.state;
? ? ? ? ? ? ? ?console.log(this);
? ? ? ? ? ? ? ?return <h1 onClick={this.demo}>今天天氣很{isHot ? '炎熱' : '涼爽'}</h1>
? ? ? ? ? ?} ? ? ? ? ?
? ? ? ? ? ? test() {
? ? ? ? ? ? ? ? //changeWeather放在哪里?————weather的原型對象上,供實例使用
? ? ? ? ? ? ? ? //changeWeather作為onClick的回調,所有不是通過實例調用的,是直接調用
? ? ? ? ? ? ? ? //類中的方法默認開啟了局部的嚴格模式,所有changeWeather中的this為underfined
? ? ? ? ? ? ? ? console.log(this)
? ? ? ? ? ? }
? ? ? ? } ?
? ? ? ? //2.渲染組件到頁面
? ? ? ? ReactDOM.render(<Weather />, document.getElementById('test')); ?
? ? </script>
</body>
</html>
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的React之解决类中的this的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React之setState使用
- 下一篇: Python 异常处理-Python零基