• Как добавлять скрипты счетчиков на страницы React?

    rockon404
    @rockon404 Куратор тега React
    Андрей Охотников, тут только искать решение для React Native или решение с API. Ну либо reverse engineering и писать свою библиотеку, которая будет слать запросы по нужным адресам с нужными параметрами.
  • Cross-Origin Read Blocking (CORB)?

    ART4, а что вы хотите увидеть в ответ на свой запрос? Вы же даже ответ никак не обрабатываете. Зайдите на вкладку network панели разработчика и посмотрите, что у вас в ответе.
  • Cross-Origin Read Blocking (CORB)?

    ART4, вы отправляете секрет авторизации '----'.
    Вы уверены, что вы можете использовать API?
  • Как вывести JSON на страницу?

    rockon404
    @rockon404 Куратор тега React
    GS-3018, вы ошибки в консоли и вкладку network посмотрели?

    Я не видел кода сборки, но по одному только списку пакетов могу сказать, что сборка сомнительная.
    С fetch в componentDidMount у вас плюсов для SEO не будет, так как componentDidMount выполняется только на стороне клиента. Вам стоит посмотреть в сторону next.js - простое и удобное решение для новичка.
    Если же, все-равно хотите попробовать написать свою сборку для SSR, то рекомендую использовать в ней пакеты axios и react-frontload.
  • Как вывести JSON на страницу?

    rockon404
    @rockon404 Куратор тега React
    GS-3018, а для чего вы используете сборку с устарелыми версиями библиотек? Вы знаете, что у вас используется SSR? Вам было бы проще сгенерировать себе приложение с помощью create-react-app.
    1. Скиньте ссылку на сборку. Весь код.
    2. Скиньте ошибки, которые выпадают в консоли.
    3. Посмотрите, что происходит на вкладке network. Проходит ли запрос. Что в ответе.
  • Как вывести JSON на страницу?

    rockon404
    @rockon404 Куратор тега React
    0xD34F, у автора в примере протокол http в запросе.
  • Как вывести JSON на страницу?

    rockon404
    @rockon404 Куратор тега React
    Опечатка в переменной isLoaded. Этот класс ошибок устраняет использование TypeScript в проекте.
  • Сколько в среднем получает джун/миддл в веб-разработке в регионах (не Мск)?

    Влад Громов, если считаете, что тестовое задание не адекватное по объему, то не стоило за него браться.
    Возможно, вы плохо справились и вам озвучили максимальную сумму, которую готовы платить за ваш труд на начальном этапе, так как посчитали, что до квалификации на которую собеседовались, вы пока не дотягиваете.
    Работодателям нет смысла обманывать соискателей - это глупо, большинство просто откажется работать и они просто потеряют время. Соискателям-новичкам же, не стоит выдавать себя за специалистов квалификации, которой они не соответствуют. Подобный обман обычно выявляется еще на этапе выполнения тестового задания, до технического интервью.

    Я полагаю, вы ищете свою первую работу в IT. И странно спрашивать тут о средней зарплате, так как это вряд ли поможет вам в поиске работы. Правильней ориентироваться на предложения в вашем городе, на зарплату за которую вы сами согласны получать свой первый опыт и на зарплату, которую готовы платить работодатели именно вам.
  • Сколько в среднем получает джун/миддл в веб-разработке в регионах (не Мск)?

    Влад Громов, ни разу ни с чем подобным не сталкивался. С серой ЗП, конечно, сталкивался.
    Тестовое задание около недели - это либо неадекватная задача, за которую даже не стоит, по-хорошему, браться, либо недостаточная квалификация исполнителя. Если второе, то вполне реально получить предложение с окладом меньшим чем указан в вакансии. Так как, в таком случае, компании, зачастую, берут сотрудника себе в убыток и обучают, в прямом смысле, за свой счет.
  • Как правильно принудительно обновить состояния класса?

    rockon404
    @rockon404 Куратор тега React
    Paxest, он в любом случае получит актуальное состояние. Другое, что если в нем реализован метод shouldComponentUpdate, то он может не обновиться:
    class Parent extends React.Compоnent {
      state = { value: 'value' };
      
      render() {
        return <Child value={this.state.value} />;
      }
    }
    
    class Child extends React.Compоnent {
      shouldComponentUpdate(prevProps) {
        if (prevProps.value !== this.props.value) {
          return false;
        }
        return true;
      }
    }

    В этом случае если state в родителе изменится, компонент не будет перерисован.

    Еще стоит добавить, что в примере с тремя вложенными колбеками, будет три перерисовки и вообще колбек setState вызывается после render.
  • Как правильно принудительно обновить состояния класса?

    rockon404
    @rockon404 Куратор тега React
    Paxest, тут либо автор статьи не прав, плохо понимает основы JavaScript и своими домыслами вводит в заблуждение, либо это очень неумелый перевод:
    С учетом того что мы выяснили о setState() — итоговое значение score будет не 3, а 1, потому что React не вызывает setState 3 раза, а делает из него один следующий вызов this.setState({score : this.state.score + 1});

    На самом деле все происходит не так. Просто код:
    this.setState({ score : this.state.score + 1 });
    this.setState({ score : this.state.score + 1 });
    this.setState({ score : this.state.score + 1 });

    при score = 0 эквивалентен:
    this.setState({ score : 0 + 1 });
    this.setState({ score : 0 + 1 });
    this.setState({ score : 0 + 1 });

    Три обновления состояния на одно и то же значение 1.
    То, что обновление происходит асинхронно, позволяет избежать лишних перерисовок. Она будет всего одна.

    Как тут помог бы колбек:
    this.setState({ score : this.state.score + 1 }, () => {
      this.setState({ score : this.state.score + 1 }, () => {
         this.setState({ score : this.state.score + 1 });
      });  
    });


    Так как функция колбек выполнится после обновленя, то и значение this.state.score будет получено после обновления И код при score = 0 будет эквивалентен:
    this.setState({ score : 0 + 1 }, () => {
      this.setState({ score : 1 + 1 }, () => {
         this.setState({ score : 2 + 1 });
      });  
    });


    Как тут помогла бы передача функции первым аргументом:
    this.setState(prevState => ({ score: prevState.score + 1 }));
    this.setState(prevState => ({ score: prevState.score + 1 }));
    this.setState(prevState => ({ score: prevState.score + 1 }));

    В этом случае мы вообще не используем состояние на момент вызова хандлера. Актуальное состояние передается в функцию на момент обновления. И при score = 0 три последовательных обновления можно было бы представить так:
    ({ score: 0 }) => ({ score: score + 1 }) // первое
    ({ score: 1 }) => ({ score: score + 1 }) // второе
    ({ score: 2 }) => ({ score: score + 1 }) // третье


    Но в вашем случае, как и в подавляющем большинстве, проще просто объединить все обновления в один вызов.
  • Как правильно принудительно обновить состояния класса?

    rockon404
    @rockon404 Куратор тега React
    Для этого я помещаю пустую функцию, чтобы он обновлялся сразу.

    Вы, видимо, где-то что-то не так поняли. Передача колбека никак не влияет на процесс обновления состояния.


    Нашел еще один способ:
    или через функцию

    Функцию передают, чтобы получить и использовать предыдущее состояние. Только и всего.

    Похоже, что вы увидели примеры на просторах интернета, но неправильно поняли какие возможности они демонстрируют.

    Вопрос: как правильно принудительно обновить состояния класса?

    Вызовами this.setState и статическим методом getDerivedStateFromProps

    Вы лучше покажите код с которым у вас возникли проблемы и опишите чем поведение компонентов отличается от ожидаемого.
  • Исправить ошибку типирования TS?

    rockon404
    @rockon404 Куратор тега React
    Capablanca, еще BookDetailed, tsConfig.json и версию TypeScript
  • Исправить ошибку типирования TS?

    rockon404
    @rockon404 Куратор тега React
    Добавьте весь код компонента, который в передаете book. Вместе с типами.
  • Вывод компонента по нажатию на слово в TextField?

    rockon404
    @rockon404 Куратор тега React
    Думаю, тут лучше подойдет решение основанное на <div contenteditable="true">
  • React, не могу вывести элемент после axios get запроса?

    rockon404
    @rockon404 Куратор тега React
    Martian_o, смотря зачем эта проверка. Если не надо рендерить контейнер списка, в случае если массив пуст:
    {!!subway.length && (
      <ul>
        {subway.map(station => <li key={station.name}>{station.name}</li>)}
      </ul>
    )}


    Если контейнера нет, то и проверка не нужна.
    {subway.map(station => <div key={station.name}>{station.name}</div>)}

    Если массив пуст, то ничего отрисовано не будет.
  • React, не могу вывести элемент после axios get запроса?

    rockon404
    @rockon404 Куратор тега React
    Таким способом вы рендерите только одну станцию метро, а их может быть несколько.
  • React + Laravel + Axios. Не работает axios.post()?

    Alex_Cross, а куда ей деться, если она на стороне сервера? Перехват ошибки лишь спасает от падения клиента и позволяет ее обработать.
  • React + Laravel + Axios. Не работает axios.post()?

    Сервер возвращает ошибку. Клиент при этом ее не обрабатывает.

    axios.post('http://127.0.0.1:8000/work/store', category)
      .then((response) => {
        console.log(response.data);
      })
      .catch(err => {/* handle error */});
  • Cвоя реализация react.createElement?

    rockon404
    @rockon404 Куратор тега React
    Vs99, вам там еще надо добавить реализацию добавления атрибутов(props). Ее там нет.