retyu: я поступаю следующим образом: создаю новую папку для проекта, в ней сразу создаю папки actions/reducers/components и containers (в контейнерах в будущем будут приконнекченные (через connect) компоненты, это тоже в курсах есть, а в компонентах - "тупые компоненты", которые кочуют из проекта в проект порой, например какой-нибудь дейт-пикер). Еще папку с тестами и папку utils в которые кладу всякие вспомогательные функции. Далее начинаю настраивать конфиг вебпака (либо просто копирую с прошлого проекта, если все устраивает). Когда вебпак настроен, стартую dev-сервер и создаю компонент App (или Root ... корневой) в котором пишу 'Hello world'. Если все запустилось и работает - отлично, едем дальше. В вашем случае: я бы создал компонент с формой, затем в lifehooks сделал бы вызовы еще не существующих экшенов, затем создал бы экшены, редьюсер и таким образом доделал бы компонент с формой.
Константин Башаркевич: вопрос о том, как это не писать руками, а чтобы делалось автоматически? (если да - не знаю ответа, к сожалению. Может уже кто-то делал подобное и есть в npm?)
Тема крутая.. смотря на Ableton, например, я просто не представляю сколько людей над ней работали (талантливые программисты и музыканты, помимо всех остальных...). Как они вообще это делали? Что есть звук? Как работают все эти синтезаторы... Конечно, сейчас все по силам сделать в одиночку, наверное, но тем не менее, вряд ли получится все сделать на JS, даже примитивное. Сайты, которые подставляют различные "звуковые партии" и тем самым создается мелодия не в счет же?) Подпишусь, может кто разъяснит.
abbrakadabbra: конечно! Так же в любой сфере (спорт, программирование...мм...кулинария.. =) ) Если ты начинаешь сразу с кем-то 1 на 1 заниматься - это очень дорого, но быстрый прогресс. Если же хочется минимизировать расходы вообще - занимаешься сам, но долго. Золотая середина - занимаешься сам, есть вопросы - идешь к "сенсею".
abbrakadabbra: на самом деле - многое. Когда у вас уже все приготовлено (например есть репозиторий с проблемным кодом, либо вы готовы пошарить экран с ошибкой) - за 15 минут знающий человек может много объяснить. Еще стоит понимать, что 40$ (±2500) - не самая дешевая ставка. Есть ставки ниже, есть "первые 15 минут бесплатно", есть возможность решать проблему 30 минут, но оплатить только 15 (например, если вы попутно успели обсудить какой-то вопрос общий и например, минут 5 обсуждали где это есть в документации и как вообще искать такие вещи). Если мы говорим, о том, что есть ставки ниже 40$, например 20$, стоит понимать, что ставка в 20$ - это очень низкая ставка для "зарубежных". По своим консультациям, могу сказать, что показатель "второй покупки" самый высокий в области консультирования. Люди приходят еще и еще, иногда на час, а потом возвращаются с "кучей непонятных моментов", которые у них родились в процессе решения задач самостоятельно, иногда на 2 часа (больше 2х часов - не результативно), иногда 30 минут. Меньше 30 я сам лично еще не консультировал, но на код-менторе уже брал консультацию на 15 минут и на 30 (уложились в 23). "Чем они отбиваются" - здесь все просто. Допустим ваш час стоит 1000 рублей, вы прикидываете, что на решение проблемы у вас уйдет 3 часа гугления и экспериментов, и возможно, результата не будет, либо вы уже потратили больше 2500 рублей в часах на это... Значит пора взять ментора и спросить. Один минус - это затягивает! P.S. извините за то, что мысли написаны "рвано". Сам я созрел на консультации (их было всего 2 на данный момент) только после того, как сам начал консультировать. Когда ты экономишь людям за 1 час больше дня поисков и разбирательств - начинаешь верить, что ментор это очень круто. P.P.S. так же в любой другой сфере. Например, пишите вы музыку, смотрите туториалы на ютубе - но не понимаете какой-то момент и у вас все дело встало. Идете к ментору, он при вас крутит ручки, и вы задаете вопросы - а это почему крутанули, а вот это где посмотреть? И опять же временной промежуток может быть очень маленьким, а выхлоп очень большим.
Роман Макаров: верно! И я об этом же с самого начала и говорю: ни разу не видел использования НЕ через props. Мы с вами об одном и том же. А топик стартер, имел ввиду возможность прокинуть без props (что можно сделать разве что через context), либо имел ввиду тоже самое что и вы, но я не понял этого сразу.
Роман Макаров: Уточню, что под контейнером я имею ввиду умный (приконекченный) компонент. В тупые компоненты мы всегда прокидываем функции, которые потом в итоге вызываются в родительском контейнере в виде dispatch(функция).
Роман Макаров: я не понимаю, как можно НЕ пробрасывать "функции диспетчеры" через пропсы... Ведь мы при любом раскладе (описанном в моем ответе) имеем дело с функциями, полученными через props. То есть: "и это вполне нормальная практика" - для меня, как я уже указал, это вообще единственная практика =) Другой я не видел, поэтому и спрашивал.
Либо, я не могу понять вашу мысль.