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

反应:祖父母向孙辈传递道具

韩羽
2023-03-14

我对在反应中传递道具有问题。这是我的文件夹结构:

src

>

  • Button.js

容器

  • PageContainer.js

  • Page.js

我正在使用Bootstrap 4在Button.js中创建一个按钮:

  <div>
    <a className="btn btn-primary sharp" href={this.props.url} role="button">{this.props.btnName}</a>
  </div>

“类”按钮中没有其他内容。现在我在类PageContainer中添加了一个按钮:

 <div>
    <Header/>
    <Button url={this.props.urlBack} btnName="Back"/>
    <Button url={this.props.urlNext} btnName="Next"/>
  </div>

如你所见,我给按钮传递了一个标题:后退和下一步。那工作正常。我现在可以添加一个网址,它会工作正常,但这不是我想要的。

我将PageContainer添加到类Page中,这样我就可以在这个级别上添加一个url:

  <div>
    <PageContainer urlBack="/" urlNext="/nextPage"/>
  </div>

出于某种原因,这不起作用。有人能解释一下我如何把道具从祖父母传给孙子吗?在留档说,这是如何做到这一点的方式。我也没有得到任何错误,因为道具没有从Page传递到PageContainer。console.log(this.props.url返回)导致未定义。

PS:也许你会问我为什么要使用Page.js,或者我为什么要使用PageContainer。第一:有更多的组件,我只是把它们漏掉了。第二:我想对几个页面重复使用PageContainer,这样我只需要更改url。

共有1个答案

魏航
2023-03-14

看起来您并不是在向

您的答案可以在这里找到:React路由器dom传递道具到组件

<Route path="/algorithmus/bubblesort/video" 
    render={(props) => <VideoContainer {...props} />}
/>

但是,我认为这不会得到您的this.props.urlthis.props.btnNamethis.props.path,是的..但您可能需要重新审视其中的一些逻辑。

更新:

在阅读了你的评论并检查了你的回购后,你的设置看起来没有什么问题。我已经模仿了你的泡泡视频-

 类似资料:
  • 我有一个祖父母组件,它通过在数组上映射来呈现卡片父组件。那些家长卡上有孩子。处理表单提交功能的调用在祖父母中。我怎么知道表格来自哪位家长? 我读了好几次这篇文章来解释道具和状态之间的区别,我认为我可能需要进入状态而不是道具,但是当我在函数中,它是空的。 在我做作的例子中,我有一套猴子和一套纸杯蛋糕。纸杯蛋糕包含对猴子的引用(存储在mongodb和my state中),因此每个纸杯蛋糕都属于一只猴子

  • 悬而未决...

  • 问题内容: 在组件中,我需要将函数的返回值传递给属性。然后从属性需要被传递到的组件。新来的反应。不确定如何将属性从子级传递到组件。 问题答案: 您可以将函数从父级传递给子级,子级可以使用颜色调用该函数(很多操作都类似于事件处理程序)。在App中收到颜色后,使用.setState()将其分配给状态值,然后将其在render()中获取

  • 问题内容: 我在这里有一个简单的设置: 我有一个父组件,该父组件有2个子组件。在第一个子组件中:用户更改输入的值。然后,该更改的值将是我想要从该孩子传递给父对象的道具,以便可以将其传递给与同一父组件相连的另一个孩子。 当前设置的这个,请查看 从用户输入到UI更改的流程:1.在“ Child 1”中:调整一个滑块,将onChange值传递给父组件;2.将此属性(新的滑块值)传递给Parent组件,以

  • 我在克服react路由器的问题时遇到困难。该场景是,我需要从状态父组件和路由向子路由传递一组道具 我想做的是传递its,传递its。然而,我能找到的唯一方法是通过这两个和,这意味着每个子路径都会获得每个子道具,无论其是否相关。目前这不是一个阻塞问题,但我可以看到,有一段时间我会使用同一组件的两个,这意味着propA上的键将被propB上的键覆盖。 这实际上是我所期望的方式。当我链接到我得到组件渲染

  • 问题内容: 以下是在reactjs中将值从子组件传递到父组件的正确示例。 App.jsx main.js 我需要明确有关将值从子组件传递到祖父母组件的概念。请帮我!! 问题答案: 您可以通过,将update函数传递给大子级,只需从子组件中再次传递即可。