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

如何从子组件访问父道具?

尹小云
2023-03-14

如何在孩子的标签和函数sayhello中访问家长的道具?
(我可以访问兄弟姐妹和孩子,而无需将道具作为参数传递,但不能访问家长)
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
和(远离本例)
如果此代码引用了
如何访问家长的道具
如果将Child引用为html标记,是否有函数将结果转换为react组件类?(不将其作为类重新分配给新变量()=

class Child extends Parent{
   constructor(props){
       super(props);
   }
   render() {
       return (
          <p>{Parent.props.hello}</p>     // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
          <button onClick={sayhello.bind(this)}></button> // <<<<<<<<<<<<<<<<<<<<<<<<
       ); 
   }
}

家长:

class Parent extends React.Component{
   constructor(props){
       super(props);
   }
   render() {
      <>
          <Child/>
      </>
   }
}

说你好:

function sayhello(){
   console.log(Parent.props);     // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
}

共有1个答案

吕博耘
2023-03-14

如果您在组件中绑定了函数,您可以参考this.props


class Child extends React.Component {
  render() {
    return (
      <>
        <button onClick={sayhello.bind(this)}>Click</button>
      </>
    );
  }
}

class Parent extends React.Component {
  render() {
    return (
      <>
        <Child someProp="hello" />
      </>
    );
  }
}

function sayhello() {
  console.log(this.props);
}
 类似资料:
  • 问题内容: 如果我有类似的东西 我想从我拥有的地方访问,该怎么办? 问题答案: 推荐用于16.3之前的React版本 如果无法避免,那么从React文档中提取的建议模式将是: 该 家长 转发绑定到一个功能道具 家长 。当呼叫作出反应的 儿童的 道具也将分配 孩子的 给 父母的 财产。 建议用于React> = 16.3 引用转发是一种选择加入功能,它使某些组件可以接收它们收到的引用,并将其进一步向

  • 我在用vue-cli支架做网页包 我的Vue组件结构/传家宝目前看起来如下: 应用程序 在应用程序级别,我需要一个vuejs组件方法,该方法可以将子组件的所有数据聚合到一个JSON对象中,然后发送到服务器。 有没有办法访问子组件的数据?具体来说,多层深? 如果没有,传递oberservable数据/参数的最佳实践是什么,这样当子组件修改它时,我就可以访问新的值?我试图避免组件之间的硬依赖关系,所以

  • 本文向大家介绍如何在子组件中访问父组件的实例?相关面试题,主要包含被问及如何在子组件中访问父组件的实例?时的应答技巧和注意事项,需要的朋友参考一下 vue中如果父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用(https://www.cnblogs.com/jin-zhe/p/9523029.html) Vue中子组件调用父组件的方法,这里

  • 我有一个父组件从API获取一些数据,并将数据存储在状态中,然后将其传递给子组件,如下所示: 在我的子组件中,我有两个问题,一个是:我想在componentDidMount中接收一个道具(ratingsAverage),但在render()函数中接收ratingsAverage时未定义。另一个是:在我的render()函数中,我只能接收非对象或数组的数据,当我接收到一个对象并希望访问该对象的属性时,

  • 我有一个方法showInfo,它由两个组件Child1和child2访问。 最初,我在Child1组件中有showInfo方法,如下所示 } 上面的代码起作用。但现在我有另一个组件child2,它需要使用相同的方法showinfo。 组件child2如下所示 } 我没有在Child2组件中编写相同的方法showInfo,而是将它放在不同的文件中,在这个文件中,child1和Child2组件可以共享