当前位置: 首页 > 知识库问答 >
问题:

react typescript create ref以访问子对象的状态

白腾
2023-03-14

我想访问父组件中的子组件的状态,我不想在子组件中使用任何可以在父组件中设置变量的处理程序,或者我不想在父组件中提升状态。我怎么能使用ref的反应打字稿创建Ref并获得父组件中的孩子的状态?

家长:

export interface ParentProps {}

interface State {
    counter?: number
}

export class Parent extends React.Component<ParentProps, State> {
    private readonly childRef: React.RefObject<**what should I put here?**>
    constructor(props: ParentProps) {
        super(props)
        this.state = {
            counter: undefined
        }
        this.childRef = React.createRef<**what should I put here**>();
    }

    render(){
        <Child ref={childRef} **<- (this throws an error)** counter={this.state.counter}
        <button onClick={() => this.setState({counter: this.state.counter + 1})}>
             add
        </button>
    }
}

儿童:

export interface ChildProps {
  counter: number
}
    
interface State {
  some state variable that should be accessible in parent
}
    
export class Child extends React.Component<ChildProps, State> {
   some methods...
}

共有1个答案

丘智志
2023-03-14

你可以试试

this.childRef = React.createRef<Child>(null);
render(){
        <Child ref={this.childRef}  counter={this.state.counter} />
        <button onClick={() => this.setState({counter: this.state.counter + 1})}>
             add
        </button>
    }
private readonly childRef: React.RefObject<Child>

private readonly childRef: React.RefObject<Child>()
 类似资料:
  • 我有一个名为的组件,还有一个子组件名为。智利组件有一个名为的状态。我需要从AvailabiltyCalendar组件访问该状态并获取该状态值。我该怎么做呢。 可用压路机组件 DatePicker组件

  • 本文向大家介绍JavaScript中子对象访问父对象的方式详解,包括了JavaScript中子对象访问父对象的方式详解的使用技巧和注意事项,需要的朋友参考一下 在传统面向对象的编程语言里,都会提供一种子类访问父类的特殊语法,引文我们在实现子类方法往往需要父类方法的额外辅助。在这种情况下,子类通常会调用父类中的同名方法,最终以便完成工作。 javascript虽然没有类似上述的特殊语法,但我们可以造

  • 我有一个场景,下面是超类:- 我正在使用每子类表策略使用一个鉴别器下面是容器的hbm映射:- 下面是FieldParent的hbm映射:- java.sql.SqlSyntaxerRoreXception:ora-00904:“FieldParent1_3_”.“TypeOFSub”:无效标识符

  • 这两个是等价的吗?如果不是,哪一个是最好的,为什么?

  • 问题内容: 首先看下面的JavaScript对象 我想将值设置为与相同,因此我将对象值放在前面,但它对我不起作用,我也使用过,但仍然失败。我的问题是如何访问对象内对象的属性。 一些用户沉迷于问“您想做什么或发送脚本等”,对于那些人来说,答案很简单:“我想访问对象内的对象属性”,上面提到了脚本。 任何帮助将不胜感激 :) 问题答案: 使用 对象文字 语法时,不能在初始化期间引用对象。创建对象后,需要

  • 问题内容: 就像是 这是我想象的格式,但事实并非如此。什么会退回到对象的父级? 问题答案: JavaScript本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?