为了账号安全,请及时绑定邮箱和手机立即绑定
  • handleDelete(){
        this.props.delete(this.props.index);
    }

    ES6的結構賦值

    handleDelete(){
    
    }

    但 delete因為是個 reserved word,所以頁面會報錯,所以先不改了

    查看全部
    0 采集 收起 来源:代码优化

    2020-05-16

  • render(){
        return(
            <div onClick={this.handleDelete}>{this.props.content}></div>
         )
     }

    可以使用 ES6的結構賦值     

    render(){
        return(
            
            <div onClick={this.handleDelete}>></div>
         )
     }

       

    查看全部
    0 采集 收起 来源:代码优化

    2020-05-16

  • 把代碼寫漂亮一點,把 return 加個括號

    查看全部
    0 采集 收起 来源:代码优化

    2020-05-16

  • 程式中有很多地方使用 .bind(this)

    例如:
    <input onChange={this.handleInputChange.bind(this)}
    實際上這麼寫 React 代碼的性能會稍微有些影響,所以不建議。

    我們可以在 constructor 裡面寫
    this.handleInputChange = this.handleInputChange.bind(this);
    事先就做好 this 指向的改變

    因此就在原本的寫法就沒必要再寫 .bind(this)
    <input onChange={this.handleInputChange}

    查看全部
    0 采集 收起 来源:代码优化

    2020-05-16

  • handleDelete(index) 方法

    查看全部
  • 子組件使用父組件傳遞過來的方法
    this.props.delete(this.props.index);

    查看全部
  • 列表到底顯示多少項,是由父組件的 list 數據決定的。

    當你點擊子組件的時候,希望實踐刪除功能,所以子組件要告訴父組件要刪除 list 裡面的某個數據。

    子組件如果要和父組件通信,子組件要調用父組件傳遞過來的方法

    <TodoItem delete={this.handleDelete.bind(this)} ....>


    查看全部
  • 子組件通過 props 的形式來接受到父組件傳遞過來的參數。

    TodoItem接受你傳遞過來的 content 的內容

    {this.props.content}


    查看全部
  • 父組件透過屬性的形式向子組件傳遞參數

    此例為:
    以一個 content 參數的形式傳給 TodoItem

    查看全部
  • 儘量不要直接修改state裡面的數據,而是生成一個副本去修改後再去賦值

    ES6中,若鍵和值同名稱,可以省略成
    this.setState({list})

    查看全部
  • <li key={index} onClick={this.handleItemDelet.bind(this,)}>{item}</li>

    把 index參數傳進去

    查看全部
  • 再完善一點

    當按下 add 按鈕後,要把 input 框的內容清掉
    inputValue:''

    並且我要讓我的 input 對應的 value值再和 this.state.value 做一個綁定,也就是只要 inputValue發生了變化,我的 value值就變了,那麼頁面上 input框裡面的內容就改變了

    <input value={this.state.inputValue} ...


    查看全部
  • state 裡面再增加一個數據 inputValue

    當input恇只要有變化,就會觸發 onChange這個事件並且會接收一個 event 事件對象。當我拿到值的時候,我要去改 inputValue 變成 e.target.value 。這樣只要 input 框發生變化,那麼我的數據項裡面的 inputValue 就會變成 input框裡面的內容。

    然後我再去點擊按鈕新增的時候,這時 hello world 我們可以換個內容, this.state.inputValue 就可以了

    查看全部
  • 雖然沒有報錯了,但按下 add按鈕,沒有添加數據

    在 REACT 中要改變 state 裡面的數據,你不要直接調用 this.state.list.push('hello world')去改變數據,而是要使用 REACT 提供給我們的方法:

    this.setState(
    )

    範例中使用 ES6 語法, ... 表示展開運算符,也就是把之前 list 裡面的三個資料放在前面,也就是新的 list 裡面會包含老的 list內容,同時又往 list 裡面增加 hello world 內容。

    當數據發生變化的時候,React會自動重新的執行 render函式來渲染畫面

    查看全部
  • 報錯 :找不到 this.state

    因為當 button被點擊的時候,是指向 TodoList 組件,但當這個handleBtnClick() 函數運行的時候,裡面的this是指向 button這個按鈕了,而這個 button當然沒有 state 這個東西。


    我們點擊 button 運行 handleBtnClick() 的時候,函數裡面的this指向 TodoList 不要指向 button,我們可以這樣寫,我讓這函數的this和外層的this綁定。

    this.handleBtnClick.bind(this)

    查看全部

举报

0/150
提交
取消
课程须知
1、对Javascript基础知识已经掌握。 2、对Es6和webpack有简单了解。
老师告诉你能学到什么?
1、React项目架构搭建 2、JSX语法 3、React组件化开发 4、React组件间通信 5、React中的事件 6、React代码优化 7、React中组件的样式修饰

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!