import React, { useEffect } from 'react';
import { Text, Vibration } from 'react-native';
const VibrationText = ({ children, vibrationPattern = [0, 500, 0], enableVibrate = true }) => {
useEffect(() => {
if (enableVibrate && Vibration.vibrate) {
Vibration.vibrate(vibrationPattern, false);
}
}, [enableVibrate, vibrationPattern]);
return <Text>{children}</Text>;
};
export default VibrationText;
这段代码定义了一个React组件VibrationText
,它接收两个props:children
和vibrationPattern
。children
是要显示的文本内容,vibrationPattern
是一个定义震动模式的数组。组件在渲染时会使用useEffect
钩子实现触摸时的震动效果。如果enableVibrate
设置为true
且设备支持震动,组件将根据vibrationPattern
进行震动。