LINUX.ORG.RU

Повторное использование кода React в React Native

 , ,


0

2

Необходимо реализовать довольной простой сайт на React+Redux. Примерный список функций такой:

  • Получаем данные с сервера
  • Выводим списком
  • По нажатию выводим доп. инфу (в модалке, например)

С таким же точно функционалом требуется и мобильное приложение на React Native.

Т.е. логика приложения будет очень-очень похожая. Данные будут везде одни и те же.

Вопрос - как организовать проект так, чтобы по максимуму использовать один и тот же код и для сайта, и для мобильного приложения?

Мой вариант - пока что, я пришел к тому, что можно создать каталог «base», в котором будут компоненты и контейнеры, без методов render. В них будут только методы, которые связаны с обработкой данных.

Далее, создаем два каталога, для обеих платформ - web и mobile. В этих каталогах создаем одноименные компоненты, наследуя их от компонентов, которые есть в base и реализуем метод render.

Ну и создаем «точки входа» для каждой из платформ.

Есть вариант лучше?

P.S. Тема на SO

Deleted

Последнее исправление: Bizun (всего исправлений: 1)

в котором будут компоненты и контейнеры

А как по другому? Без контейнеров не обойтись.

class CustomComponent extends Component {
  render() {
    return (
      <CustomComponentView />
    )
  }
}

Каждый компонент обернуть, добавить в контейнеры стейты и код. А во вьюхах только платформоспецифичные компоненты, типа дивы в одном случае и вью в другом.

Это теоретически, мне не приходилось сразу и не ReactJS и на ReactNative одним кодом обходиться. Мне кажется, это не очень здраво.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

ReactJS и на ReactNative одним кодом обходиться. Мне кажется, это не очень здраво.

Эм, а почему? Я тут чуток погуглил, это вполне себе труъ, на сколько я понял.

Deleted
()
Ответ на: комментарий от Deleted

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

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Не думаю, что нативный код под мобилками придется юзать. Функционал у приложухи будет очень, очень простой. Ну, посмотрим, в общем.

Deleted
()

Я использовал Gentoo для такой задачи. Собрал хромиум за ночь и смог разработать приложение

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.