• Почему данные не обновляются в React Native?

    @khorark
    Приведите пожалуйста весь код компонента, а не только несколько строк.
    Но если мы говорим о React, то все изменения данных внутри компонента, на которые должен реагировать View, осуществляются через метод this.setState или хук useState.
    Ответ написан
    Комментировать
  • Как задать автоматичскую высоту картинок в react-native?

    @khorark
    Есть несколько способов, в зависимости от того, какого результата Вы ожидаете.

    Вы можете:

    1) указать высоту в % от родительского элемента;

    2) использовать высоту экрана, для статичного размера
    import { Dimensions } from 'react-native';
    
    const screenHeight = Dimensions.get('screen').height;


    3) Использовать статичный метод getSize для получения высоты и ширины изображения, затем устанавливать его вручную.
    Image.getSize(uri, success, [failure]);
    Ответ написан
    Комментировать
  • Головоломки на react native это нормально?

    @khorark
    Да, нормально.

    React Native довольно гибкая технология, которая позволяется создавать различные приложения и игры. Конечно, если речь идёт про 1st games с крутой 3D графикой, то для них нужно брать UnrealEngine, но для инди проектов он подходит вполне не плохо.

    В интернете есть несколько статей на эту тему, например тут и тут, а также отдельный игровой движок для написания игр тут.
    Ответ написан
    Комментировать
  • React Native или NativeScript?

    @khorark
    Тут всё зависит от того, какие цели вы перед собой ставите и какие задачи собираетесь решать. От себя могу сказать, что, в лоне разработчиков, NativeScript не очень популярен и каких-то реальных проектов мне встречать на нём не приходилось. Возможно они есть, просто особо не афишируются.

    В данный момент, на мой взгляд, присутсвует два основных инструмента для гибридной разработки: React Native и Flutter. Если вам ближе веб, советую посмотреть в сторону первого. Если вы пришли из native разработки, то в сторону второго. Более подробно про их различия можно почитать в данной статье
    Ответ написан
  • Как разбить массив на подмассивы?

    @khorark
    Можно сделать так

    const result = data.reduce((res, el) => {
    	const date = new Date(el.dt * 1000);
      if (date) {
      	const dateKey = `${date.getDate()}/${(date.getMonth() + 1)}/${date.getFullYear()}`;
        if (res[dateKey]) {
        	res[dateKey].push(el);
        } else {
            res[dateKey] = [el];
        }
      }
      
      return res;
    }, {})
    
    console.log(Object.values(result))
    Ответ написан
  • Как в реакте узнать, что компонент промонтировался?

    @khorark
    Метод ComponentDidMount срабатывает тогда, когда компонент примонтирован. Полная инфомарция по методам ЖЦ React здесь .
    Ответ написан
    Комментировать
  • React Native. Переменные в render и память?

    @khorark
    Есть такое утверждение - «преждевременная оптимизация — корень всех зол». Не нужно заниматься этим, если Вы не видите разницу в производительности на собственном примере, следовательно с точки зрения производительности не имеет разницы какое решение вы будете использовать.

    С точки зрения читаемости кода, лучше делать деструктуризацию, так как получается более наглядно.

    P.S. Правильно делать let { a } = this.props
    Ответ написан