Информация об изменениях

Сообщение Re[8]: JavaScript (точнее front-end) в 2018 году... от 31.10.2018 22:27

Изменено 31.10.2018 22:28 Shmj

Re[8]: JavaScript (точнее front-end) в 2018 году...
Здравствуйте, andini, Вы писали:

A>Не важно, что там внедрено. Следующее твое заявления является ложью:


A>

A>И даже в этом случае в шаблоне нет логики.


В шаблоне Angular ты не можешь писать куски JS. А вот в React — пожалуйста. В этом разница.

С этим будем спорить?

A>То есть:


A>
A><div className="class">text</a>
A>


A>это просто более лаконичный способ записи следующего кода


A>
A>React.createElement('div', {className: "class"}, ["text"]);
A>



И что это меняет? Все равно по факту в шаблоне можно писать куски JS.

Вот, в старом ASP.Net Classic — тоже в шаблоне можно было писать куски кода на C#. Там тоже все HTML-элементы превращались в классы. И что? Сама парадигма ошибочная — у вас смесь шаблона (представления) и логики (кода на JS любого размера).

Небольшая логика может быть, типа показывать или нет тот или иной участок. Но в React у вас в шаблоне могут быть огромные куски кода — это ничем не ограничивается.

A>В отличие от ангуляра, который имеет:


A>- HTML-подобный шаблон в виде строки

A>- со специальными маркерами для интерполяции некоторого ограниченного набора JS {{}}

Вот в этих ограничения и вся соль — чтобы нельзя было использовать JS на стороне шаблона.
Re[8]: JavaScript (точнее front-end) в 2018 году...
Здравствуйте, andini, Вы писали:

A>Не важно, что там внедрено. Следующее твое заявления является ложью:


A>

A>И даже в этом случае в шаблоне нет логики.


В шаблоне Angular ты не можешь писать куски JS. А вот в React — пожалуйста. В этом разница.

С этим будем спорить?

A>То есть:


A>
A><div className="class">text</a>
A>


A>это просто более лаконичный способ записи следующего кода


A>
A>React.createElement('div', {className: "class"}, ["text"]);
A>



И что это меняет? Все равно по факту в шаблоне можно писать куски JS.

Вот, в старом ASP.Net Classic — тоже в шаблоне можно было писать куски кода на C#. Там тоже все HTML-элементы превращались в классы. И что? Сама парадигма ошибочная — у вас смесь шаблона (представления) и логики (кода на JS любого размера).

Минимальная логика на стороне представления — типа показывать или нет тот или иной участок — допустима. Но в React у вас в шаблоне могут быть огромные куски кода — это ничем не ограничивается.

A>В отличие от ангуляра, который имеет:


A>- HTML-подобный шаблон в виде строки

A>- со специальными маркерами для интерполяции некоторого ограниченного набора JS {{}}

Вот в этих ограничения и вся соль — чтобы нельзя было использовать JS на стороне шаблона.