JSFiddle - React, Tailwind, and code Playground

HTML

<input type="text">
<button onclick="add()">新增</button>
<div id="root">
</div>

CSS

* {
  margin: 0;
  padding: 0;
  list-style: none;
}

JavaScript

var todos = [
  {
    title: "倒垃圾"
  },
  {
    title: "繳電話費"
  },
  {
    title: "採買本週食材"
  },
];

function render() {
	const root = document.querySelector('#root');
  root.textContent = "";
  const ul = document.createElement('ul');
  root.append(ul);
  
  for (let todo of todos) {
  	const li = document.createElement('li');
  	const span = document.createElement('span');
    span.textContent = todo.title;
    li.append(span);
    ul.append(li);
  }  
}

function add() {
	const input = document.querySelector('input');
  if (input.value.trim() === "") return;
  const newTodo = { title: input.value };
  todos.push(newTodo);
  render();
  input.value = "";
}

render();