МТ
Size: a a a
МТ
AK
L
МТ
on:click={() => handleClick()}
AK
on:click={() => handleClick()}
AP
Б
Б
Б
Б
const Box = ({padding = 0, ...}) => {Да чуть менее удобно чем в реакте но с другой стороны ты это пишешь один раз внутри атомарных компонентов а потом уже собираешь приложения из атомарных компонентов декларативно, примерно так
return h({
diff: (context, state = {padding}) => {
if (padding !== state.padding) context.el.style.padding = `${state.padding = padding}px`;
...
})
}
const Component = ({prop1, prop2}) => {И при этом работаешь с нативной системой дом-дерева без всяких оберток и сам выбираешь юзать свойства или аттрибуты (ну и доступны все возможные css-свойства без необходимости ждать поддержки чего-то в фреймворке)
return Box({
width: prop1,
height: 500,
background: `#edeef0`,
border: `1px solid blue`,
padding: 20,
children: [
Box({
height: 30,
background: `gray`,
border: `1px solid gray`,
padding: 10,
}),
AnotherComponent({prop2})
]
});
};
AP
const Box = ({padding = 0, ...}) => {Да чуть менее удобно чем в реакте но с другой стороны ты это пишешь один раз внутри атомарных компонентов а потом уже собираешь приложения из атомарных компонентов декларативно, примерно так
return h({
diff: (context, state = {padding}) => {
if (padding !== state.padding) context.el.style.padding = `${state.padding = padding}px`;
...
})
}
const Component = ({prop1, prop2}) => {И при этом работаешь с нативной системой дом-дерева без всяких оберток и сам выбираешь юзать свойства или аттрибуты (ну и доступны все возможные css-свойства без необходимости ждать поддержки чего-то в фреймворке)
return Box({
width: prop1,
height: 500,
background: `#edeef0`,
border: `1px solid blue`,
padding: 20,
children: [
Box({
height: 30,
background: `gray`,
border: `1px solid gray`,
padding: 10,
}),
AnotherComponent({prop2})
]
});
};
AP
const Box = ({padding = 0, ...}) => {Да чуть менее удобно чем в реакте но с другой стороны ты это пишешь один раз внутри атомарных компонентов а потом уже собираешь приложения из атомарных компонентов декларативно, примерно так
return h({
diff: (context, state = {padding}) => {
if (padding !== state.padding) context.el.style.padding = `${state.padding = padding}px`;
...
})
}
const Component = ({prop1, prop2}) => {И при этом работаешь с нативной системой дом-дерева без всяких оберток и сам выбираешь юзать свойства или аттрибуты (ну и доступны все возможные css-свойства без необходимости ждать поддержки чего-то в фреймворке)
return Box({
width: prop1,
height: 500,
background: `#edeef0`,
border: `1px solid blue`,
padding: 20,
children: [
Box({
height: 30,
background: `gray`,
border: `1px solid gray`,
padding: 10,
}),
AnotherComponent({prop2})
]
});
};
IF
АС
𝚋
L
bind:this
?𝚋
bind:this
?МТ
МТ
𝚋