Ответы пользователя по тегу React
  • Как изменить переменную в useEffect?

    Lapita12
    @Lapita12
    Тесты, тесты?
    Проблема возникает из-за того, что когда вы изменяете массив elements, это не вызывает перерисовку компонента.
    Чтобы изменять переменную в useEffect, вы можете использовать локальный state. Для этого можно использовать хук useState
    import React, { useState, useEffect } from 'react';
    
    function App() {
      const [elements, setElements] = useState([]);
    
      useEffect(() => {
        // вместо data.data используйте свой набор данных
        const data = { data: ['file1', 'file2', 'file3'] };
        const newElements = [];
        for (let i = 0; i < data.data.length; i++) {
          newElements.push(<Uploaded_file button_name={data.data[i]} key={i}></Uploaded_file>);
        }
        setElements(newElements);
      }, []);
    
      return (
        <div>
          {elements}
        </div>
      );
    }
    
    export default App;
    Ответ написан
  • Почему не выводятся данные из запроса в заголовок?

    Lapita12
    @Lapita12
    Тесты, тесты?
    function installWeather(props) {
      const request = new Promise((resolve, reject) => {
        console.log('Запрос данных на сервер...')
        fetch('https://api.openweathermap.org/data/2.5/weather?q=LVIV&units=metric&APPID=5d066958a60d315387d9492393935c19')
          .then(response => {
            if (response.ok) {
              return resolve(response.json());
            } else {
              reject('Что-то пошло нет так');
            }
          });
      });
      
      return request
        .then(data => {
          return (
            <div className='wrapper'>
              <div className='container'>
                <h1 className="place" id="place">City: {data.name}</h1>
                <p className="temp" id="temp"></p>
                <p className="pressure" id="pressure"></p>
                <p className="description" id="description"></p>
                <p className="humidity" id="humidity"></p>
                <p className="speed" id="speed"></p>
                <p className="degree" id="degree"></p>
                <img className="image" id="image" src="" alt="clouds" title="Weather"/>
              </div>
            </div>
          )
        })
    }
    
    export default installWeather;
    Ответ написан
    7 комментариев