• Почему выходит ошибка Each child in a list should have a unique "key" prop?

    Alexandroppolus
    @Alexandroppolus
    кодир
    key надо выставлять не для Crumb, а для фрагмента:
    <React.Fragment key={...}>
        {idx >= 1 && <div> / </div>}
        <Crumb path={crumb.path} title={crumb.title} style={styles.crumbs} />
    </React.Fragment>


    ну и Math.random() для key - худшее, что ты мог придумать. Наверняка у crumb есть какой-нибудь id, вот его и надо использовать. Или, например, path, title, - что-то из них ведь уникальное, не повторяется в массиве crumbs?
    на крайний случай можно idx
    Ответ написан
    8 комментариев
  • Как сделать запрос с локального хоста react axios?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    CORS заголовки должны быть установлены на сервере, который отвечает на Ваш запрос (в данном случае, Google API), а не на Вашем клиенте. Это механизм безопасности браузеров, и заголовки CORS должны быть установлены на стороне сервера. Если сервер настроен так, чтобы не принимать запросы с Вашего домена или IP-адреса, то на клиенте (в Вашем React-приложении) эту проблему не решить.

    Можно поднять свой локальный сервер, например на express.js и использовать его как прокси:
    import express from 'express';
    import cors from 'cors';
    import axios from 'axios';
    
    const app = express();
    
    app.use(cors());
    
    app.get('/getBooks', async (req, res) => {
      try {
        const result = await axios.get('https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves&key=myKeyApi');
        res.json(result.data);
      } catch (error) {
        console.error(error);
        res.status(500).send(error);
      }
    });
    
    app.listen(4000, () => {
      console.log('Proxy server running on http://localhost:4000');
    });

    Либо попробовать заюзать прокси на клиенте, указав его в package.json:
    {"proxy": "https://www.googleapis.com"}
    Ответ написан
    6 комментариев
  • Как получить значение select после загрузки страницы?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Если в select уже установлено значение, то это значение сразу после загрузки страницы можно получить так:
    $(window).on('load', function() {
        console.log('Значение:', $('#country-list').val());
    });
    Ответ написан
    Комментировать
  • Почему выходит ошибка Invalid constant value?

    @PapaStifflera
    Родился, вырос...
    Уберите const у InputDecoration.
    Ответ написан
    4 комментария
  • Как выбрать по атрибуту?

    NeiroNx
    @NeiroNx
    Программист
    Array.from(document.querySelectorAll(".menu_dbnames li a[dbname]")).map(x=>x.getAttribute("dbname"))


    $$(".menu_dbnames li a[dbname]").map(x=>x.getAttribute("dbname"))
    Ответ написан
    Комментировать
  • Как прокрутить страницу на заданую высоту?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    $("html, body").animate({scrollTop: $(".error_list_icon").offset().top - 90}, 800);


    Работающий пример: тут
    Ответ написан
    Комментировать
  • Как наисать условие where с множесвом параметров?

    @alexalexes
    SELECT a.*, ai.name_img_file, ai.src, ai.title as img_title 
    FROM adverts as a
    join  advert_imgs as ai on a.id = ai.id_adv 
    WHERE 1 = 1
        AND exists( select 1 from adverts_fields af where a.id = af.id_advert and  af.field_name = 'storey_apartament' AND af.field_value = '58')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'condition_house' AND af.field_value = '13')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Sleeping'AND af.field_value = '38')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Availability' AND af.field_value = '48')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and  af.field_name = 'Bathroom' AND af.field_value = '77')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Heating'AND af.field_value = '26')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Furnished' AND af.field_value = '14')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'kitchen_area' AND af.field_value = '34')
    ORDER BY `title` DESC

    У вас свойства одного объекта "a" хранятся не в одной записи "af", а в нескольких, которые связаны внешним ключом через af.id_advert. Поэтому, чтобы посмотреть каждое свойство фильтра, нужно подзапросом exists пройтись по таблице свойств столько раз, сколько критериев в фильтре.
    А то, что вы написали - то проверит одну запись свойства и отсечет выборку на следующем AND проверки критериев, поскольку field_name и field_value в одной цепочке and проверит на разные значения, но обратить такую цепочку and в true невозможно.
    Ответ написан
    1 комментарий
  • Как убрать прокрутку вверх при сворачивании подменю?

    @saver116
    front-end developer
    Добрый день, можете просто добавить еще один знак # к тегу a
    вот так
    <a href="##">
    тогда не будет слетать вверх
    Ответ написан
    1 комментарий
  • Проигрывание звука на javascript?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Попробуйте сохранять id проигрываемого звука.
    // сначала ваш код
    var idPlay;
    sound.onend = () => idPlay = false; // когда доиграл, сбрасываем id
    window.addEventListener("click", () => {
      if (idPlay) sound.stop(idPlay); // ещё играет - остановим
      idPlay = sound.play(); // играть сначала
    });
    Ответ написан
    6 комментариев
  • Как сохранить файл из инпута на сервер?

    amux
    @amux
    alp.ac
    $('#upload').on('click', function() {
      var file_data = $('#file_id').prop('files')[0];  //Берем  Файл
      var form_data = new FormData();                  
      form_data.append('file', file_data);
      alert(form_data);  //Выводим инфо по файлам которые будут отправлены на сервер              
      $.ajax({
        url: 'ajax/save-photo.php', 
        dataType: 'text', 
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,                         
        type: 'post',
        success: function(php_script_response){
          alert(php_script_response); //  Выводим ответ от сервера
        }
      });
    });


    И в php (Если нужно):
    if ( 0 < $_FILES['file']['error'] ) {
      echo 'Error: ' . $_FILES['file']['error'] . '<br>';
    }
    else {
      move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
    }
    Ответ написан
    Комментировать
  • Как настроить elfinder на сайте на денвере?

    GavriKos
    @GavriKos
    Поднимаете отдельно FTP и к нему коннектитесь. Денвер тут ни при чем.

    P.S. забавно что начинающий наикрутейший программер не снизошол до банального гугления
    Ответ написан
    2 комментария