当前位置:   article > 正文

子传父vue/react

子传父vue/react

vue子传父:很多都是结合defineEmit来实现的,这里通过给子组件传递函数,子组件调用传递下来的函数实现传值。

父亲:

  1. <template>
  2. <div>
  3. father
  4. <Demo :clickChild="clickFather" msg="32434">Welcome to Your Vue.js App</Demo>
  5. </div>
  6. </template>
  7. <script setup>
  8. import Demo from './Demo.vue'
  9. const clickFather = (e) => {
  10. console.log(e)
  11. }
  12. </script>

儿子:

  1. <template>
  2. <div @click="clickToFather">childStart {{ msg }} childEnd</div>
  3. </template>
  4. <script setup>
  5. import { ref, defineProps } from "vue";
  6. const count = ref(0);
  7. const props = defineProps({
  8. msg: String,
  9. clickChild: Function,
  10. });
  11. const clickToFather = () => {
  12. console.log("props", props);
  13. console.log("clickToFather", props.msg);
  14. props.clickChild && props.clickChild("22222");
  15. };
  16. </script>

react;同样的react也可以通过调用传递下来的函数的方式实现子传父

父:

  1. import React, { useState } from 'react';
  2. import ChildComponent from './Bpp';
  3. const ParentComponent = () => {
  4. const handleDataFromChild = (data) => {
  5. console.log(data);
  6. }
  7. return (
  8. <div>
  9. <button onClick={handleDataFromChild}>66666666</button>
  10. <ChildComponent data={"123"} onDataFromChild={handleDataFromChild} />
  11. </div>
  12. );
  13. }
  14. export default ParentComponent;

子:

  1. import React from "react";
  2. const ChildComponent = (props) => {
  3. console.log(props);
  4. const sendDataToParent = () => {
  5. props.onDataFromChild('000');
  6. };
  7. return (
  8. <div>
  9. <button onClick={sendDataToParent}>Send Data to Parent</button>
  10. </div>
  11. );
  12. };
  13. export default ChildComponent;

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号