子传父vue/react

发布于:2024-04-11 ⋅ 阅读:(146) ⋅ 点赞:(0)

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

父亲:

<template>
  <div>
    father
    <Demo :clickChild="clickFather" msg="32434">Welcome to Your Vue.js App</Demo>
  </div>
</template>
<script setup>
import Demo from './Demo.vue'
  const clickFather = (e) => {
    console.log(e)
  }
</script>

儿子:

<template>
  <div @click="clickToFather">childStart {{ msg }} childEnd</div>
</template>
<script setup>
import { ref, defineProps } from "vue";
const count = ref(0);
const props = defineProps({
  msg: String,
  clickChild: Function,
});

const clickToFather = () => {
  console.log("props", props);
  console.log("clickToFather", props.msg);
  props.clickChild && props.clickChild("22222");
};
</script>

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

父:

import React, { useState } from 'react';
import ChildComponent from './Bpp';
 
const ParentComponent = () => {
  const handleDataFromChild = (data) => {
    console.log(data);
  }
 
  return (
    <div>
      <button onClick={handleDataFromChild}>66666666</button>
      <ChildComponent data={"123"} onDataFromChild={handleDataFromChild} />
    </div>
  );
}
 
export default ParentComponent;

子:

import React from "react";

const ChildComponent = (props) => {
  console.log(props);
  const sendDataToParent = () => {
    props.onDataFromChild('000');
  };

  return (
    <div>
      <button onClick={sendDataToParent}>Send Data to Parent</button>
    </div>
  );
};

export default ChildComponent;


网站公告

今日签到

点亮在社区的每一天
去签到