Ймовірно, я мав би це навчитися давно, але, на жаль, ось ми. Виявляється, ви можете сказати, яку функцію ви хочете використовувати JSX. Так, JSX насправді має лише одну основну трансформацію. Він перетворює кутові дужки в JavaScript у виклик функції. Отже, якщо ви напишете такий рядок у JavaScript:
Hello
Після обробки (можливо, за допомогою Babel та плагіна JSX) за замовчуванням ви отримаєте:
React.createElement("div", ( class: "big" ), "Hello");
Але якщо ви включите коментар директиви, який повідомляє JSX, що ви хочете використовувати власну функцію, ви можете змінити цей результат:
/* @jsx myFunction */ Hello
Перетворюється на:
/* @jsx myFunction */ myFunction("div", ( class: "big" ), "Hello");
Це означає, що ми можемо написати власну функцію. Дивно, але добре.
Фактичний випадок використання для бібліотек, що не є React, таких як Preact. Я дізнався про це, переглядаючи приклади Джейсона Міллера:
Vue можна зробити і цим способом. Зверніть увагу, що і Vue, і Preact постачають цю спеціальну h
функцію, яка призначена для цього:
Валерій Карпов також має кілька цікавих прикладів використання у своєму дописі в блозі "Огляд JSX з 3 нереагуючими прикладами".