以下是一个简单的Vue3中使用JSX的TodoList示例:
```jsx
import { defineComponent, ref } from 'vue';
export default defineComponent({
setup() {
const todos = ref([
{ id: 1, text: 'Learn Vue', done: true },
{ id: 2, text: 'Build an app', done: false },
{ id: 3, text: 'Deploy to production', done: false }
]);
const addTodo = (text) => {
todos.value.push({ id: todos.value.length + 1, text, done: false });
};
const toggleTodo = (todo) => {
todo.done = !todo.done;
};
return () => (
);
}
});
```
在这个示例中,我们使用了`defineComponent`函数来定义一个Vue组件。在`setup`函数中,我们创建了一个`todos`变量来存储待办事项列表,并定义了两个方法`addTodo`和`toggleTodo`来添加新的待办事项和切换已完成的状态。
在返回的JSX中,我们使用了`todos.value.map`来遍历待办事项列表,并为每个待办事项渲染一个复选框和文本。我们还创建了一个表单来添加新的待办事项,当用户提交表单时,我们调用`addTodo`方法来添加新的待办事项。
这是一个简单的Vue3中使用JSX的TodoList示例,你可以根据自己的需求进行修改和扩