1

If you want to use an HTML element in vanilla JavaScript without using a function like Document.createElement(), you need to use it like this:

const App = `<h1>Hello, world</h1>`;

But is there a way to do this in vanilla JavaScript, just HTML tags without a string declaration (signs like ``)? For example:

const App = <h1>Hello, world</h1>;
2
  • Nope, you need JSX for that Commented Apr 9, 2022 at 3:59
  • Read this doc about JSX in React Introducing JSX Commented Apr 9, 2022 at 4:10

1 Answer 1

1

There is no way you can do this without a declaration (but you still can do this without a string declaration). For that, you have to use JSX in Vanilla JS using this npm package: https://www.npmjs.com/package/jsx-vanilla

This unlock more features like embedding dynamic expressions and values in between the HTML code. For an example:

let x = 4;

const menu = (
  <ul>
    <li>{x-1}</li>
    <li>{x}</li>
    <li>{x+1}</li>
  </ul>
);

const node = document.createRange().createContextualFragment(menu);

Technically, JSX is neither string nor HTML.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.