Vue 與 React 父子元件之間的家長里短

2021-09-13 17:10:19 字數 2197 閱讀 5190

// father.js

這是父元件:

父元件

// child.js

這是子元件:父元件傳遞的值:}

接收父元件方法

在父元件中引入並註冊子元件

在子元件中定義props:['msg'](不能省略引號)

通過:msg="msg"的方法傳遞變數,也可以通過msg="msg"傳遞字串

在父元件中給子元件繫結乙個ref="***"屬性

通過this.$refs.***.方法呼叫

在子元件中定義乙個方法

通過this.$emit('事件名','引數')派發乙個事件,並傳遞引數

父元件中通過@事件名的方式監聽事件

父元件中定乙個乙個方法,該方法的引數對應子元件傳遞過來的引數

子元件可以通過this.$parent.***直接呼叫父元件的方法。

通過子元件派發的事件,不僅可以向父元件傳遞引數,父元件也可以通過傳遞的引數,改變向子元件傳遞的值,從而改變子元件。

props: ,

// 帶有預設值的數字

propd: ,

// 帶有預設值的物件

prope: }},

// 自定義驗證函式

propf:

}}

// father.js

import react, from 'react'

import child from './child.js';

class father extends component

} // 傳遞給子元件的方法,並接收子元件例項,繫結在this.child上

onref = (ref) =>

// 通過this.child 就可以直接呼叫子元件的內部方法

click = () =>

// 傳遞個子元件的方法

faclick = (msg) =>

render() />)}}

export default father;

// child.js

import react, from 'react'

class child extends component

// 呼叫父元件傳遞的方法,並傳遞子元件例項

componentdidmount()

// 呼叫父元件傳遞的方法

click= ()=>

// 子元件內部方法

sayhello = () =>

render()

接收父元件的方法)}}

export default child;

在父元件中引入子元件

通過connect=方式可以傳遞值

子元件通過this.props.connect接收

給子元件傳遞乙個方法onref=子元件在componentdidmount生命週期裡 呼叫這個方法,並回傳自身例項

父組在該方法中接收子元件例項,並掛載在父元件例項屬性上,例:this.child = ref最後就可以通過this.child.***直接呼叫子元件方法

在父元件中給子元件傳遞乙個方法,click=在子元件中通過乙個事件接收這個方法,onclick=通過click= ()=>從而傳遞引數

父元件可以直接傳遞乙個方法給子元件

子元件可以通過this.props.***呼叫

不能直接通過接收父元件的方法進行傳參,這樣在元件初始化時,事件就執行了。
react 的子元件中不用定義父元件傳值對應的變數

react 的子元件不用派發事件,父元件可以直接傳遞方法

子元件通過this.props.click可以呼叫父元件傳遞的方法,並傳參

react父子元件之間通訊

父子元件之間通訊 父傳子通訊 類元件 index.js import react from react import reactdom from react dom reactdom.render document.getelementbyid root import react,from reac...

Vue 與 React 父子元件之間的家長里短

father.js id father 這是父元件 父元件p ref child msg msg click faclick child div template import child from child export default components methods childsayhe...

vue父子元件之間通訊

1 父元件向子傳遞引數 只需要在子元件內使用props即可獲取。2 子元件返回引數給父元件 子元件中設定 emit func data 父元件中直接取出func即可。注意 父元件向子元件傳參是單向的,若子元件直接修改父元件的引數,vue會報錯。如果需要修改,則有2種方式 方式一 在子元件中複製父變數...