实现思路
- 接收Props:在组件定义时,通过类型声明接收外部传入的Props作为初始文本内容。
- 定义State:在组件内部使用
useStore
钩子来定义一个状态变量,用于存储当前要展示的文本。初始值设为Props传入的文本。
- 实现动态变化逻辑:编写一个函数来处理文本反转逻辑,在函数中更新State。
- 绑定事件与渲染:在组件的JSX中,绑定按钮的点击事件到反转函数,并渲染当前的文本状态。
关键代码片段
import { component$, useStore } from '@builder.io/qwik';
// 定义Props类型
type MyComponentProps = {
initialText: string;
};
// 组件定义
export const MyComponent = component$((props: MyComponentProps) => {
// 使用useStore定义状态
const store = useStore({
currentText: props.initialText
});
// 文本反转函数
const reverseText = () => {
store.currentText = store.currentText.split('').reverse().join('');
};
return (
<div>
<p>{store.currentText}</p>
<button onClick={reverseText}>反转文本</button>
</div>
);
});