Как изменить родительский элемент, используя значения вложенных компонентов в реакции? ⇐ Html
-
Гость
Как изменить родительский элемент, используя значения вложенных компонентов в реакции?
Я хотел бы изменять значение AudioPlayer всякий раз, когда изменяется значение CurrentSong, чтобы песня меняла AudioPlayer каждый раз, когда я воспроизвожу новую песню. в Song.js у меня есть phoneContextValue.SetCurrentSong(props.audiolink);
AudioPlayer.js:
import React, { useContext, useEffect, useState } из «реагировать»; импортировать {Outlet} из 'реагировать-маршрутизатор-дом'; импортировать PhoneContext из '../../../others/PhoneContext'; const AudioPlayer = () => { const phoneContextValue = useContext(PhoneContext); const [аудио, setAudio] = useState(phoneContextValue.CurrentSong); useEffect(() => { setAudio(phoneContextValue.CurrentSong); }, [phoneContextValue.CurrentSong]); возвращаться ( Ваш браузер не поддерживает аудио элементы. ); }; экспортировать AudioPlayer по умолчанию; Я пытался сделать это с помощью useEffect, но AudioPlayer не обновлялся при изменении CurrentSong.
RouterPage.js:
const RouterPage = () => { const [phone, setPhone] = useState(''); const [CurrentSong,SetCurrentSong]=useState(''); const phoneContextValue = { телефон, установить телефон, Текущая песня, Установить текущую песню, }; возвращаться ( ); }; экспортировать страницу RouterPage по умолчанию; Я пытался использовать useEffect в AudioPlayer, но значение не обновилось
Я хотел бы изменять значение AudioPlayer всякий раз, когда изменяется значение CurrentSong, чтобы песня меняла AudioPlayer каждый раз, когда я воспроизвожу новую песню. в Song.js у меня есть phoneContextValue.SetCurrentSong(props.audiolink);
AudioPlayer.js:
import React, { useContext, useEffect, useState } из «реагировать»; импортировать {Outlet} из 'реагировать-маршрутизатор-дом'; импортировать PhoneContext из '../../../others/PhoneContext'; const AudioPlayer = () => { const phoneContextValue = useContext(PhoneContext); const [аудио, setAudio] = useState(phoneContextValue.CurrentSong); useEffect(() => { setAudio(phoneContextValue.CurrentSong); }, [phoneContextValue.CurrentSong]); возвращаться ( Ваш браузер не поддерживает аудио элементы. ); }; экспортировать AudioPlayer по умолчанию; Я пытался сделать это с помощью useEffect, но AudioPlayer не обновлялся при изменении CurrentSong.
RouterPage.js:
const RouterPage = () => { const [phone, setPhone] = useState(''); const [CurrentSong,SetCurrentSong]=useState(''); const phoneContextValue = { телефон, установить телефон, Текущая песня, Установить текущую песню, }; возвращаться ( ); }; экспортировать страницу RouterPage по умолчанию; Я пытался использовать useEffect в AudioPlayer, но значение не обновилось
Мобильная версия