По времени это месяц-два. Но это, повторюсь, лишь некий прообраз приложения. С кучей допущений. Реальный продукт, хотя бы минимально работающий, делать намного дольше и дороже.
Для начала можете вторым параметром в setstate, после колбека, передать функцию записи в сторадж. Она должна выполниться после записи в стейт.
Либо берите нужные вам данные не из стейта. Я, честно говоря, вообще не понял — что у вас происходит в сетстейт. Зачем вы переписываете из стейта в стейт? Какой в этом сакральный смысл?
Userivan1, если так вопрос ставить, то тут есть поле для вариаций.
Например, можно собрать дизайн за 50-100 тысяч рублей. А можно и бесплатно, используя нативные фреймворки платформ.
Самая сложная часть — агрегация билетных апи всех авиакомпаний и регистрация купленных билетов. Если представить, что апишка уже есть (чужая, фейк, только пара компаний) — тогда это сводится к простым запросам и фильтрам. Это можно сделать за пару-тройку сотен тысяч.
Flagname, я не могу вам помочь, потому что понятия не имею - что должен делать ваш скрипт.
"jsx на локалхосте" - это набор слов.
Ваш скрипт, подключенный в index.html находится в скоупе объекта window. Например, чтобы обратится к методам яндекс.метрики, подключенной таким образом, нужно в реакт компоненте делать это через window.ym(), а не просто ym().
Повторюсь - что делает ваш скрипт, что вы ждете от него - знаете только вы.
CryNet, ну я лично так не люблю. Это асинхронщина, которая работает по своим правилам. Если мне прям сейчас нужны новые данные для какого-то действия — я их использую напрямую, параллельно с записью в стейт. Но в целом в 99% случаев компоненты сами следят за стейтом.
const middleOfThree = (a, b, c) => [a, b, c].sort((a, b) => a - b)[1];
1. Принимаем на вход три числа a, b, c.
2. Из этих трех чисел создаем массив [a, b, c].
3. Применяем метод sort, который есть у массивов. В этот метод надо передать колбек, который является сортировочной функцией. Почему это выглядит как a - b, можно почитать тут.
4. Функция сортировки отрабатывает и возвращает отсортированный массив, где под индексом 1 будет находиться среднее число из трех.
5. Возвращаем это число.
Стрелочные функции - такие же функции, как и обычно. Синтаксически только тут можно опустить слово return, если написать функцию в одну строку. То есть,
function func(a, b, c) {
return true
}
это то же самое, что и const func = (a, b, c) => true;
Да, посмотрите какой-нибудь ролик на ютубе по реакт-роутеру. За 10 минут узнаете базовые возможности — передача параметров, switch, props.history, вот это все.
Если коротко — принимаете параметр в строке url и берете его в качестве пропса доя компонента. Но, повторюсь, я бы так не делал. Это что-то из области монолитных mvc-приложений. Реакт так тоже может, но его фишка в другом.
Тогда можно на каком-нибудь unsplash поискать - сейчас там достаточное количество фоток с одеждой и обувью. Вопрос только - какое количество нужно вам.
jerryjemmy, ну клево. Только 50 тысяч установок бесплатно не достигнуть.
Посчитайте стоимость установки, посчитайте разницу — вот вам и прогнозируемый доход. Вложите 10, получите 12.
Дизайнера можно убрать, кстати. Нет там столько работы, все это легко меняется либо на парт-тайм, либо на конструкторы.
Инвесторам нужно две вещи — либо возможность кратного увеличения дохода, либо база в миллионы пользователей, чтобы выйти из сделки в новом раунде. Второе точно не про вас, но с первым может зайти. Делайте презу и звоните/пишите/встречайтесь. У нас в проекте вот на днях закрылся новый раунд — сео два месяца проводил по 5 встреч с инвесторами ежедневно. Мы, правда, b2b + более зрелые + работающий продукт + команда. И все равно на это ушло много сил и времени.
jerryjemmy, ну так в цифры это переведите. Покажите, что доработка приложения сможет принести столько-то денег. В итоге получится такой-то доход при таком-то рекламном расходе.
Подумайте сами — зачем инвестору скопированное приложение с 200 долларами дохода? Чтобы что?