Задать вопрос
AnB24
@AnB24
Web-разработчик

Почему не обновляется компонент после обновления useState?

Есть приложение на React, в котором 2 страницы. Первая страница запускает видео файл на весь экран. Вторая страница должна управлять первой (менять видео).

На второй странице создаю:
<input type="file">
получаю с помощью FileReader и передаю видео из input в родительский компонент (App.jsx) сохраняя в setCurrentVideo. После этого currentVideo отправляю из App.jsx на первую страницу... В App.jsx файл приходит, console.log(currentVideo) показывает, что файл на месте, НО на первой странице не меняется видео.

Подскажите, что я делаю не так?

Нужно чтобы после добавления видео в input на второй странице, первая страница автоматически запускала новое видео (без звука).

function App() {

  const [currentVideo, setCurrentVideo] = useState();

  console.log(currentVideo) // показывает, что файл на месте...

  return (
    <BrowserRouter>
      <Routes>
        <Route path='/' element={<VideoPage currentVideo={currentVideo}/>}/>
        <Route path='/admin' element={<AdminPage setCurrentVideo={setCurrentVideo}/>} />
      </Routes>
    </BrowserRouter>
  );
}
export default App;


function VideoPage({ currentVideo }) {

    return(
        <div className="video-box">
            <video className='video' src={currentVideo} autoPlay loop preload="auto" muted></video>
        </div>
    )
}
export default VideoPage;
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Merion Academy
    Frontend-разработка на React
    4 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
DudochkaKseniia
@DudochkaKseniia
дело в том, что type='file' не управляемый стейтом reacta, для работы с файлами нужно бы использовать
файл api
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽