剛剛遇到乙個問題:子元件屬性值繫結了變數,但是在子元件的componentdidmoiunt中拿到的值始終是undefinded。如下:
1<
pieinfo
2title
='有效病案'
3num=4
tcolor
='#dc5654'
5pieid
='useful'
6source=7
/>
後來在網上搜尋才發現,
react元件屬性值是直接值(寫死)的時候,因為 父元件的值不是非同步的,我們能直接在該元件的生命週期中獲取,如下:
<pieinfo
title
='drg陣列'
num='108'
pieid
='drg'
source
='804』
data
='506'
/>
當元件屬性繫結的是變數時,需要在componentwillrecieveprops中才能獲取到。如下:
<pieinfo
title
='入組病案'
num=
pieid
='into'
source
=
data
=
/>
componentwillreceiveprops(nextprops) =nextprops;}
ps:生命週期定義:
componentdidmount(){}
呼叫一次,只在客戶端(不在伺服器上),在初始渲染發生後立即 子元件的componentdidmount()方法在父元件的componentdidmount()方法之前被呼叫 settimeout setinterval ajax 在此之行,強烈建議
componentwillreceiveprops(nextprops){}
在元件接收新props時呼叫。初始渲染不呼叫此方法。老的props可以用this.props 新值就用nextprops檢視 在此函式中呼叫this.setstate()不會觸發附加的渲染。
react子元件獲取父元件傳過來的值
this.oncategorychange categoryid,parentcategoryid 這是乙個自定義的分類選擇器元件,他的categoryid和parentcategoryid都是從父元件的state中獲取的,獲取的就是預設值 如果父元件通過非同步請求獲取資料,修改了state裡面的c...
react 父元件傳值子元件,子元件傳值孫元件
import react from react import reacttypes from prop types 最外層的父元件 export default class com1 extends react.component render 中間的子元件 class com2 extends r...
react子元件向父元件傳值
子元件向父元件傳值,注意父元件傳遞函式的時候必須繫結this到當前父元件 handleemail 不然會報錯 實現在輸入框輸入郵箱時,在div中即時顯示輸入內容 子元件var child react.createclass 父元件var parent react.createclass handle...