我想将道具传递给React Component(没有明显而且没有下降) .
示例:
<aside> <Navigation /> </aside> <main> <Video /> </main>
我的 Navigation 上 onClick <a> 元素,我想更新我的 Video 组件状态(src) .
Navigation
<a>
Video
我知道我可以改变Child组件的状态,但对于这种情况..:/
有人可以帮帮我吗?
谢谢社区!
将单击处理程序传递给导航,导航在父组件上调用 setState (包含导航和视频) . 你想要改变的东西应该是视频的道具 . setState将使视频与新prop一起被重新渲染 .
setState
你可以像这样设置状态
1创建一个函数来设置父组件中的状态 .
2把它像一个道具 <Navigation />
<Navigation />
3使用此道具在您的 <Navigation /> 点击
一种方法是将redux与react一起使用 . 虽然redux是一个非常大的学习步骤,但一旦你掌握了它,它将帮助你轻松解决这样的问题 .
为了让您非常粗略地了解如何使用redux组合进行反应,这里的工作流程非常简化 .
所有组件从存储在redux存储中的状态获取要显示的数据 .
导航组件会在单击某些内容或以某种方式更改某些内容时将操作分派给redux存储 .
redux store中的Reducers将识别这些操作并对redux存储中的状态进行更改
完成更改后,将使用redux store中的新数据重新渲染所有组件
3 回答
将单击处理程序传递给导航,导航在父组件上调用
setState
(包含导航和视频) . 你想要改变的东西应该是视频的道具 . setState将使视频与新prop一起被重新渲染 .你可以像这样设置状态
1创建一个函数来设置父组件中的状态 .
2把它像一个道具
<Navigation />
3使用此道具在您的
<Navigation />
点击一种方法是将redux与react一起使用 . 虽然redux是一个非常大的学习步骤,但一旦你掌握了它,它将帮助你轻松解决这样的问题 .
为了让您非常粗略地了解如何使用redux组合进行反应,这里的工作流程非常简化 .
所有组件从存储在redux存储中的状态获取要显示的数据 .
导航组件会在单击某些内容或以某种方式更改某些内容时将操作分派给redux存储 .
redux store中的Reducers将识别这些操作并对redux存储中的状态进行更改
完成更改后,将使用redux store中的新数据重新渲染所有组件