【发布时间】:2021-06-24 02:42:03
【问题描述】:
我对 reactjs 很陌生,我正在努力解决以下问题: 我有一个包含 AudioPlayer 的 Header 组件(在我的 App.js 文件中)。此 AudioPlayer 需要使用 src 的当前值(歌曲的路径,存储在本地)和标题进行更新。现在,想想这样的事情:
App.js
function App(){
<Header/>
<Page1/>
<Page2/>
<Page3/>
...
<SomePage/>
...
<Footer/>
}
Header.js
import HeaderLogic from './HeaderLogic'
funtion Header(){
const {property1, property2, ..., path, title} = HeaderLogic()
//In HeaderLogic I want to get path and title, set in SomePageLogic.js
...
return <>
<AudioPlayer
src={path}
title={title}
/>
...
</>
}
SomePage.js
import SomePageLogic from './SomePageLogic'
import songPath from './somePath/songPath'
function SomePage(){
const title = 'songTitle'
const {property1, property2, ..., propertyN} = SomePageLogic(songPath, title)
//In SomePageLogic (or maybe here) I want to set path and title of the song,
//in order to be used from the HeaderLogic component
return <>
...
</>
}
我不确定 useContext 在这种情况下是否可以正常工作,因为我想在不相关的组件之间共享数据......当然,当检测到歌曲已设置时,Header 应该重新呈现。我应该使用某种订阅模式吗? 有什么提示吗?
非常感谢!
【问题讨论】:
-
这能回答你的问题吗? Sharing data between React components
标签: reactjs react-hooks react-component use-context data-sharing