javascript - react中,互動和事件寫在哪裡?
给我你的怀抱
给我你的怀抱 2017-05-19 10:34:33
0
4
619

初學react 思維還是像以前一樣用jquery的方式處理事件
假設我用index.js組織一些元件a.js b.js
我需要在某一個元件中實作ajax載入圖片
這事件該掛載在哪裡呢? compnentDidMount?
是不是所有的事件都要掛載在元件本身上?
元件生命週期函數是設計來掛載各種事件的嗎?
index.js裡除了render之外不寫任何事件?

给我你的怀抱
给我你的怀抱

全部回覆(4)
大家讲道理

生命週期顧名思義是給你在元件各種階段做一些事情,呼叫ajax是其中一種,但不是唯一一種。

在不引入Redux的前提下,盡可能不要在子元件內呼叫ajax,盡可能放在一個最高的父元件。

render是渲染函數,事件處理函數是掛載在jsx上。

你也可能等元件渲染之後用原生js為元件新增事件,這也沒問題。

为情所困

如果只是元件內部互動的事件,那麼你ajax載入事件就寫到compnentDidMount元件渲染完成裡就行了。

迷茫

react 中的render是自己判斷來重新渲染的,只要你的state中值發生了變化,它自己會重新判斷那些地方需要更新.
交互的話,你正常寫onClick 的事件等都可以哇,要記得寫的時候注意this指向問題,推薦箭頭函數來寫.
另,如果有些函數為了避免重複綁定,可以在組件的構造函數中統一進行綁定.

阿神

我需要在某一個元件中實作ajax載入圖片
這個事件該掛載在哪裡呢? compnentDidMount?
答:看你怎麼加載,如果透過事件加載圖片,那麼直接在組件上綁定事件,發請求,用state控制組件是否展示,如果頁面初始化的時候加載,那麼直接在componentDidMount發請求就好了。
組件生命週期函數是設計來掛載各種事件的嗎?
答:元件生命週期不同的階段會觸發不一樣的方法,可能是發請求,可能是改變state,不一定的~
index.js裡除了render之外不寫任何事件?
答:index是入口文件阿~

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板