react18版本学习Day2

本文介绍了如何在React中创建和管理组件,包括父组件引用子组件、传递参数、以及子组件通过props修改父组件状态和直接调用父组件方法的实例。
摘要由CSDN通过智能技术生成

组件的引用:

父组件注册并引用:

import Parent from "./components/parent";
 <Parent  />

父组件传递参数

<Parent text="firstParent" />

子组件接受参数并使用

function Son(props) {
  return (
      <div> <h1>{props.text}</h1>
  )
}
export default Son

组件方法的调用及变量的使用

import { useState } from "react"
function Son(props) {
  const [count, setCount] = useState(0)
 function addData() {
    setCount(count + 1)
  }
  function datajianyi() {
    setCount(count - 1)
  }
    return (<div> <h1>{props.text}</h1>
    <div className="parentBox" onClick={addData}>count+1==={count}</div>
    <div className="parentBox" onClick={datajianyi}>count-1</div>
    </div>
    )
}
export default Son

react子组件修改父组件值

父组件


import Parent from "./components/parent";
import Son from "./components/son";
import { useState } from "react";
function App() {
  let [str, setStr] = useState("")
     //写方法给子组件调用
  function handleStr(val) {
    setStr(val)
  }
  return (
    <div className="App">
      str=====  {str}
      <Parent text="firstParent" onDataChange={handleStr} />
      <Son text="firstSon" />
      <Parent text="secondParent" />
      <Son text="secondSon" />
    </div>
  );
}

export default App;

子组件通过handleData传递实参给父组件

import { useState } from "react"
function Parent(props) {
  function handleData() {
    props.onDataChange&& props.onDataChange("asdasd")
  }
  return (
    <div> <h1>{props.text}</h1>
    <div className="parentBox" onClick={handleData}>handleData</div>
    </div>
    )
}
export default Parent

子组件直接调用父组件方法:

父组件

import Son from "./components/son";
function App() {
 function sonFn(val){
    console.log("父组件方法被调用",val);
  }
  return (
 <Son text="firstSon"  sonFnData={sonFn}/> //通过sonFnData方法传递
 );
}

export default App;

子组件代码

function Son(props) {
  function handleSon(){
    props.sonFnData(123)
  }
  return (
    <div> <h1>son</h1>
        //子组件以重写方法的形式去调用父组件方法,并传递参数
      <div className="parentBox" onClick={handleSon}>son</div></div>

  )
}
export default Son

PS:新手刚入react  若有不正确的地方或者其他更好的方案 欢迎评论区指正  不喜勿喷

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值