亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

沒有開始點擊時,控制臺就出現了一個警告,這個警告不影響加1效果,就是有警告,所以請教!

沒有開始點擊時,控制臺就出現了一個警告,這個警告不影響加1效果,就是有警告,所以請教!

https://img1.sycdn.imooc.com//5bda682c0001396518581080.jpg

正在回答

5 回答

原因是這里:

++this.state.likes

因為++符號,會導致this.state.likes本身加一,這樣就相當于你嘗試不用setState命令直接操作this.state.likes的值了

2 回復 有任何疑惑可以回復我~
  • 前綴形式的++和--操作符。前綴形式的++和--操作符出現在操作數的前面,應用了這種形式后,操作數本身會相應的增加或減少。同時,表達式的值為操作數增加或減少后的值。用法如下所示:

??var?i?=?1;??????//運行完這條語句,i被賦值為1
??var?j?=?++i;????//運行完這條語句,i的值增了1變為2,而j的值為“++i”這個表達式的值為2
??--j;????????????//運行完這條語句,j的值減了1變為1,表達式“--j”的值為1但被拋棄


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

代碼如下:

https://img1.sycdn.imooc.com//5bdab075000150ae13880873.jpg

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

import React from 'react'

class LikesButton extends React.Component {

? ? constructor(props) {

? ? ? ? super(props)

? ? ? ? this.state = {

? ? ? ? ? ? likes: 0

? ? ? ? }

? ? ? ?

? ? ? ? // this.increaseLikes = this.increaseLikes.bind(this)


? ? }

? ?

? ? increaseLikes() {

? ? ? ? // alert(1234)

? ? ? ? // console.log(this)? ? ? ??

? ? ? ? this.setState({

? ? ? ? ? ? // 設置當點贊 + 1

? ? ? ? ? ? likes: ++this.state.likes

? ? ? ? })

? ? }

? ? render() {

? ? ? ? return (

? ? ? ? ? ? <div className="likes-button-component">? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? <button type="button" className="btn btn-outline-primary btn-lg" onClick={() => { this.increaseLikes() }}>

? ? ? ? ? ? ? ? ? ? 贊{this.state.likes}

? ? ? ? ? ? ? ? </button>

? ? ? ? ? ? </div>

? ? ? ? )

? ? }

}

export default LikesButton


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

應該是想改變屬性或對象沒有setState, 需要看代碼。

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

這位同學你先吧?components/likesButton.js 的代碼貼出來啊

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

黃健聰 提問者

好的,謝謝,請指教! 代碼如下:
2018-11-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

沒有開始點擊時,控制臺就出現了一個警告,這個警告不影響加1效果,就是有警告,所以請教!

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號