Size: a a a

2020 July 07

AO

Aleksandr Osipov in ☄️ effector
аа, свой ast трансформатор для jsxдля бабела?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
да
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
я просто уже давно набил руку на плагинах к бабелю, поэтому реализация не вопрос)
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
идея должна быть описана примерно так:

до:

using(root, () => {
 <div>text</div>
})


после:

using(root, () => {
 h('div', {text: 'text'})
})
Ну вот мне кажется надо для унификации всегда создавать коллбек и внем уже spec вызывать
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
а технически так можно преобразоыавть вообще
const jsx = (
 <div><span>foo</span></div>
)

h('div', () => h('span', spec({text: 'foo'})))
нюанс в том что из внешнего div ты что то возвращаешь, что подразумевает что этот тег ещё не применился, но внутренний, по всей видимости, должен стать чайлдом ничего не возвращая
источник

AO

Aleksandr Osipov in ☄️ effector
<div><span>foo<b>bar</b></span></div>
->
h('div', () => {
 h('span', () => {
   spec({text: 'foo'})
   h('b', () => {
     spec({text: 'bar'})
   })
 })
})
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
нюанс в том что из внешнего div ты что то возвращаешь, что подразумевает что этот тег ещё не применился, но внутренний, по всей видимости, должен стать чайлдом ничего не возвращая
надо обдумать твои слова, сходу что-то не вьехал в проблему :(
источник

🦜

🦜 in ☄️ effector
Aleksandr Osipov
<div><span>foo<b>bar</b></span></div>
->
h('div', () => {
 h('span', () => {
   spec({text: 'foo'})
   h('b', () => {
     spec({text: 'bar'})
   })
 })
})
а без анонимных функций можно?
источник

AO

Aleksandr Osipov in ☄️ effector
🦜
а без анонимных функций можно?
эм, ну коллбек нужен, таков апи фореста
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
<div><span>foo<b>bar</b></span></div>
->
h('div', () => {
 h('span', () => {
   spec({text: 'foo'})
   h('b', () => {
     spec({text: 'bar'})
   })
 })
})
ну вот тут уже без return, этой проблемы нет)
источник

🦜

🦜 in ☄️ effector
ну я вот и спрашиваю, можно ли без
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🦜
ну я вот и спрашиваю, можно ли без
нет, методы forest применяются в точке вызова
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
это как domain.createEvent вызов которого оповещает всех domain.onCreateEvent немедленно
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
<div><span>foo<b>bar</b></span></div>
->
h('div', () => {
 h('span', () => {
   spec({text: 'foo'})
   h('b', () => {
     spec({text: 'bar'})
   })
 })
})
а со списками как быть? которые рендерятся с помощью list
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а со списками как быть? которые рендерятся с помощью list
Так, а мы же вообще зачем это затеяли, ну JSX нятягивание, нужно ли вообще?
источник

AO

Aleksandr Osipov in ☄️ effector
Я забыл с чего начиналось все
источник

AO

Aleksandr Osipov in ☄️ effector
Может реально играть на опережение как тут советовали и отсутствие JSX преподносить как фитчу
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
мне просто интересно, насколько сильно можно развить эту концепцию совместными усилиями
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
то есть в первую очередь отказ от jsx позволил отбросить старые предрассудки и ограничения: если в handler нужно добавить конфиг для preventDefault опции, то jsx будет проблемой, которая оттолкнёт от хорошей идеи (она уже реализована, кстати)
источник

m

makoven in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а со списками как быть? которые рендерятся с помощью list
А что со списками? Всякие list.map({i => <div />}) вычислятся в рантайме и исчезнут. Или ты не про то?
источник