Вы сейчас выступаете в роли инквизиции, а все отвечающие (странно что все) в роли неопытных защитников Джордано Бруно. spa сегодня, это зародыши завтрашних приложений. Ведь не секрет что может сложиться ситуация, когда понятие "сайт" отойдет в прошлое и на его замену придут десктопные приложения, которые и разработчикам и пользователям принесут лишь радость.
И вот теперь подумайте, как Ваш сайт с рендером на сервере будет работать в оффлайне?
Хомон: книг может быть полно "как заработать миллион" продавая об этом книгу. А вот пока реальных игр нет не будет и реальных книг, кроме как сделать тыколку по шарикам.
на js игры пишут только неокрепшие умы, которые наслушались, что canvas это круто и сами не чего на нем не сделав советуют его везде. Вот и Вы наверное попали под дурное влияние. Ждите и дождетесь и уроков и книг, тогда, когда js будет компелироваться в нативный код. А пока он только для этикеток для кругалей годится.
смотря что конвертировать. Старый Adobe FlashProCC умеет собирать написанное в нем приложение в canvas приложение. А вот как передавать... У Windows.Forms есть выход на api браузера?
Aves: я не говорил о redux, я говорил о реакте... С Вами сложно разговаривать, я привожу примеры, а Вы называете это отсебятеной. Кто говорит, да все блять говорят. я нахуй и тут спрашивал и в гиттерах и в других местах и все говорят одно и тоже.
я сука аргументирую чем хуевы запросы в компоненте, Вы же вообще как выебанный лось бежите хуй пойми в какую сторону и приводите пример redux. Вы реально ебнутый чтоль?
Нехуя не я начал оскорблять чтобы чувствовать себя неуровновешенным сейчас.
Aves: ну я не знаю, как тогда с Вами разговаривать. Все говорят что обращаться к чилдрен и работать вообще с Чилдрен, это плохо. Вы же это отрицаете.
Вы соглашаетесь что пререндер будет пустым, но говорите что так и должно. Это означает лишь что Вы просто не понимаете о чем говорите.
Ну а дальше дело вкуса, можно есть по правилам-ооп и прочим законам программирования, вилкой, а можно и руками жрать. Вы описываете принцип жрать руками, это когда кажется что вилки ножи и салфетки излишни, а научится есть рыбу ножом, просто нереально затратно и не нужно.
Aves:
React.Children === обращение к детям React.Children.only
value = this.children.props.value === style: this.props.children.props.style
Ну а третий я надумал. И, И, И и И. Не забывайте, что все это является "плохим тоном в реакт". А то можно по Вашим словам подумать, что Вы это поддерживаете.
Aves: я это к тому, что раз можно this.props.children.style, почему я не могу в нем что-то изменить, ведь props это не класс, а всего лишь ValueObject, который по своей идеологии не имеет приват свойств. Да и какая вообще разница, брать или присваивать, тогда, когда даже просто обращаться к свойствам детей не рекомендуют. А значит реакт говорит что это плохо, но других механизмов не предоставляет. Но если же я откажусь от "неправильного стиля", то уже не смогу сделать так, чтобы не происходил рендер всего приложения.
Это все было о том, что Вы мне пытались показать что приложение не перестраивается заново, хотя подписались лишь на событие начала и конца и тем самым перемещение легло на плечи клонированного объекта. Клонирования с обращением к свойствам детей, что является плохо. Это очень важный момент, который лежит в основе всех бед.
Ведь именно с этого момента разработчику предлагают выбрать один из нескольких путей "неправильной" разработки.
Продолжу чуть позже, но пока поясню по поводу начала, хотя уже это озвучивал.
Если Вы будите делать запросы в самом компоненте, то в renderToString попадет чистая строка. То есть рендер происходит до того как что-то загрузится. Всю работу с загрузкой нужно выносить в сторы (я не рассматриваю какую-либо реализацию предложенную FB, я просто говорю о простом хранилище) и тогда можно загрузить данные и только потом запускать приложение.
Aves: и я понимаю как передаются проперти. То есть такие мелочи я знаю, так же как знаю порядок выполнения методов lifecycle, точно так же как я понимаю что это только представление и что это библиотека для рендера. И про стейты я тоже знаю, то есть вот азы мне все известны.
Aves: предлагаю из общения выбросить совершенно все обвинения в адрес друг друга, так будет легче сосредоточится на вопросе.
А теперь смотрите, Вы приводите мне пример drag, код которого я анализирую на github (там всего два класса) и показываю несколько выписок Вам. !!! Хочу уточнить, один пункт я наверное просто надумал, остались вопрос о React.Children, this.children.props.value, которые в коде выглядят как this.props.children.props.style и React.cloneElement(React.Children.only(this.props.children), {...})!!! Что Вы на это отвечаете
Нет, это не нормально, и так делать нельзя, не в том смысле, что так не делают, а в том, что ничего не получится, то есть вообще.
И да Вы правы, сначала я хотел работать с комопнентами как с произвольными деревьями, а не бинарными. Я не считаю что реакт это mvc, так как несколько раз даже говорил что это "библиотека для рендера".
И пока я не буду продолжать, а подожду Вашего ответа, по поводу правильности в рендере использовать клонирование и обращение к свойствам чилдрена. Вы можете посмотреть только методы рендер у двух классов по ссылке. Что Вы скажите?
Aves: и для тех у кого в голове орган (не тот, орган, как например половой, а тот что музыкальный) я поясню. Вы сто процентов, как и все считаете что писать подобные конструкции - плохо. А вот теперь подумайте, как избежать и их и не перерендеревание всего приложения каждый раз. Да, говнокодя, можно это сделать. И посмотрите сами на код https://github.com/mzabriskie/react-draggable/tree... который нарушает почти все принципы программирования. Вы можете и дальше упираться, но лично мне хочется выйти на нормальный диалог и у Вас, как знающего больше меня спросить, что блин мне делать и как относится к реакту. Ведь пока складывается впечатление, что писать на нем можно либо нарушая все законы программирования и при этом нарушая правила самого реакта, либо я даже и не знаю, загонят его такие как Вы в полную опу, а другим, как я дотошным, придется мучится, ведь кроме него есть ещё убогий angular.
Я безусловно понимаю тонкость предназночения namespace, но она так тонка, что в языке реализующем модули или package, потребность в них сводится к нулю.
По виду, скриншот вроде нормальный, цвета только не очень радуют, тусклые. Ну ещё можно сказать что у Вас руки трясутся, это как понимаете сами, выдает замазка ссылки. Можно сделать предположения, что это вызвано через мерным дрочением.
Что можно сказать конкретно еба*го куска json, вроде тоже ничетак. Добавить больше нечего.
Ну вот и я делаю маленькую библиотеку и стоит выбор, либо сделать так, либо перенести инициализацию не связанных объектов в метод рендер. Других вариантов просто нет.
И вот теперь подумайте, как Ваш сайт с рендером на сервере будет работать в оффлайне?