Ответы пользователя по тегу React Native
  • Прошу хорошую книгу по JS?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    из фреймворков интересует react и electron

    Основы React II-е издание (2018)
    Ответ написан
    Комментировать
  • Как валидировать ответы от API в redux (в частности react native)?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Начну с конца:

    3) можно сделать функцию helper, типа check status
    приведу пример кода из старого проекта (не async / await, но не суть)
    export function checkStatus(response) {
      let json = response.json() // http://stackoverflow.com/a/29475662/1916578
    
      if (response.status >= 200 && response.status < 300) {
        return json
      } else {
        return json.then(window.Promise.reject.bind(window.Promise))
      }
    }
    
    export function httpGet(url) {
      return fetch(url, {
        headers: buildHeaders(),
      })
      .then(checkStatus)
    }


    и уже везде пользоваться httpGet для гетов, например. Конечно, можно расширить пример как вам нужно с необходимыми диспатчами и тд тп.

    2) проверять необходимо всегда, чтобы пользователь понимал что происходит:
    - вероятно у вас отпал инет
    - на сервере ошибка, попробуйте еще раз

    Думаю, стоит это начинать делать в catch у каждого запроса

    1) если API не ваше - то делайте проверки, какие посчитаете нужными

    Если API ваше, то проверки тоже необходимо делать, но в основном это нужно для обработки ошибок от сервера/сети.
    Ответ написан
    Комментировать
  • Как правильно одновременно разрабатывать приложение на react и react native?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Если приложение переписывается на react, то одновременно держать react-native + react базу поможет react-native-web пакет, но там нет FlatList до сих пор, ждут давно.

    Для одинаковых компонентов - все просто, один файл. Если же для какого-то компонента требуется различный код, можно делать два файла xxx.web.js и xxx.ios.js (например), и на стадии сборки в сборку включать только те, что подходят под проверку (для веб собираете или для mobile).

    Общие компоненты (uikit - кнопки, надписи, стили и тд) - все можно вынести в отдельный пакет / отдельную директорию. Вы пишите, что у вас уже есть - ок, используйте, если они готовы для этого (но я думаю вряд ли, надо как минимум адаптировать/переписать будет)
    Ответ написан
    Комментировать
  • Мобильные приложения. React Native или Vue?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    > кто разрабатывал мобильные приложения на React Native или Vue.
    ну поскольку "ИЛИ", то скажу что с RN работать удобно. Не то что было 2 года назад. Проекты в xcode стартуют здраво (хотя бы с create-react-native-app + eject).
    Шерховатости бывают, но так или иначе, сейчас что-то в стиле формочек и табличек можно запросто набросать для мобильной платформы, а учитывая, что есть опыт разработки на react, то RN для меня выбор очевидный.

    С vue сравнить не могу.
    p.s. опыт мобильной разработки не такой большой и для android ничего серьезного не писал. В текущей работе имеется desktop приложение на electron + мобильное. Используем react-native-web, код пишется сразу под 2 платформы, но есть файлы, которые адресованы конкретным платформам (десктопу или мобилке)
    Ответ написан
    Комментировать
  • Как исправить код React и использовать babel?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    import React, { Component } from 'react';
    
    class SearchBar extends Component {
      constructor(props) {
        super(props);
    
        this.state = { term: ' ' };
      }
    
      render() {
        return ( // в круглых скобках возвращаем, если более 1й строки
          <div>
            <input onChange={event => this.setState({ term: event.target.value })} />;
          </div>
        )
      }
    }
    export default SearchBar;
    Ответ написан
    1 комментарий