Привет всем, увлекаюсь даной библиотекой довольно таки недолго. Хотел бы что-то полезное написать, но фантазия не работает, а если и работает - то понимаешь, что это можно с легкостью воплотить в жизнь на VanillaJS. После React-project'a буду знакомиться с Redux. Или лучше уже потом React + Redux запилить? Напишите свои идеи. Спасибо вам.
React - это не фреймворк. Если ты используешь стандартный create-react-app то у тебя итак все пишется на VanillaJS, реакт тут не причем вообще. Если ты прикрутил тайпскрипт, то там тот же VanillaJS только навороченее. Реакт не причем, как впрочем и любой другой фреймворк.
Напиши аудиоплеер.
Вы видимо не поняли суть вопроса и написали глупость в ответе. Зачем приплели create-react-app вообще непонятно. React приложения пишут на jsx, обычно используя при этом фишки ES6 и stage-0.
Автор, видимо, имел ввиду, что он полагает, что может написать более-менее простое приложение не используя фреймворков на чистом JS.
Автору надо просто погуглить и он найдет массу идей для своего первого приложения.
Антон Спирин, ну если ты не понял зачем я упомянул про create-react-app это не значит что в ответе написана глупость.
Я ему подсказал идею что можно написать, а какой приблудой пользоваться реактом или другой хайповой приблудой это его уже выбор.
React приложения пишут на jsx, обычно используя при этом фишки ES6 и stage-0.
Это тоже вызывает недоумение.
Если ты считаешь что реакт приложения пишут исключительно на jsx, напиши ка на jsx ajax запрос или алгоритм сортировки не используя js.
А если не получится то посмотри в учебнике что такое jsx и ES6 который ты упомянул.
Иосиф Копейкин, React сейчас используя React.createElement никто не пишет.
Вы видимо путаете код написанный на jsx и stage-0 и код транслированный в ES5 с помощью Babel.
Пока вы не запустите интерпретатором:
class MyClass {
state = { ... };
handler = () => { ... };
render() {
const some = 'some';
return <div>{some}</div>;
}
}
это не будет являться VanillaJS. Что такое JSX отлично знаю, а вы видимо нет. Не транслированный код вы не запустите, хоть убейтесь.
Поэтому, простите, отличная попытка, но нет - вы написали глупость.
Антон Спирин, а никто и не говорит что этот код будет работать без транспиляции. Из приведенного тобой куска кода, там как раз и есть чистый js свежего стандарта с примесью jsx.
А твое утверждение:
React приложения пишут на jsx, обычно используя при этом фишки ES6 и stage-0.
Является полной глупостью, так как все совсем наоборот, а именно приложения как раз пишут на JS используя стандарты кому какие удобны или TS любимой версии, подсластив все это сахарком jsx.
Иосиф Копейкин,
1. Вы в начале написали, что проекты пишутся на VanillaJS, а оказалось, что из пишут на JSX, stage-0, TS, Flow и многом другом, что без трансляции вызовет ошибку интерпретатора.
Выходит написали глупость, а теперь мажетесь, что все таки транслировать надо.
2. Не отрицаю React можно с помощью React.createElement, но так никто не делает.
3. Я не написал глупость, а лишь не перечислил все возможные варианты прессетов и надстроек над JS(яп с трансляцией в JS) которые можно использовать их очень много и ничего из них не переварит интерпретатор. А TS просто содержит в себе поддержку синтаксиса JSX.
4. Мой пример это не чистый JS свежего стандарта с JSX, если вы попробуете убрать строку с JSX и запустить этот код, интерпретатор вызовет исключение, а вы даже не знаете почему.
Итог: код, если не используешь React.createElement надо транслировать, то есть это не VanilaJS. Что и требовалось доказать.
Так что идите, пожалуйста, втирайте о том что React пишут на VanillaJS в другом месте. Смешно читать. Как и ваши потуги в оправдаться, написав "сам дурак".
Иосиф Копейкин, в IE11 старый интерпретатор, а мы говорим о современном стандарте и последних версиях интерпретаторов. Не надо пытаться приплести сюда мою логику, в очередной неумелой попытке оправдаться.
Итоги я подвел в прошлом комментарии:
Код React приложения, если не используешь React.createElement надо транслировать, иначе интерпретатор вызовет исключение, то есть это не VanilaJS. Вы облажались. Что и требовалось доказать.
Антон Спирин, ты бы поменьше умничал и раздавал советы, если изначально не понял суть моего ответа. Если ты под ванилой понимаешь конкретный стандарт и конкретный интерпретатор, то это лично твое мнение, которое не гарантирует что ты прав! И не надо ставить себя выше остальных, думая что перед тобой кто-то пытается оправдаться!
Иосиф Копейкин, да ни один интерпретатор JS не переварит этот код без трансляции.
Это не я не понял сути вашего ответа, а вы ответили нелепейшей глупостью, не поняв сути вопроса автора. Теперь начали кидаться отмазками из серии "я не имел ввиду то, что сказал".
Причем тут мое мнение? В этом вопросе нет моего мнения, есть истина. А то, что вы пытались зачехлять в ответе и в комментариях под ним глупость далекая от нее.
Иосиф Копейкин, я думаю, понять эти порожденные вами глупости можете только вы. Так же как и провести связь между ними и словами автора вопроса:
Хотел бы что-то полезное написать, но фантазия не работает, а если и работает - то понимаешь, что это можно с легкостью воплотить в жизнь на VanillaJS.
И да, упомянутый вами create-react-app генерирует код JSX, нуждающийся в трансляции, а не чистый JavaScript. И тут вы тоже промахнулись.
Но самая большая ваша ошибка в том, что под VanillaJS подразумевают код написанный на чистом JS без использования библиотек и фреймворков. Поэтому ваш ответ это глупость вдвойне.