react-native-reanimated 2:无法使用 'worklet' 关键字创建函数(undefined 不是函数)
react-native-reanimated 2: cannot make a function with 'worklet' keyword (undefined is not a function)
我刚刚学习 react-native-reanimated
v2,但是我在使用 'worklet' 关键字创建函数时遇到问题。
我使用 npx react-native init myApp
在 React Native 裸项目 上安装了 react-native-reanimated
v2。
我已遵循所有 react-native-reanimated
v2 安装说明,包括:
- 正在配置 babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
'react-native-reanimated/plugin'
]
};
- 启用hermes,设置为true
- 正在配置
MainApplication.java
文件
- 清理构建
- 使用
yarn start --reset-cache
重置缓存
我尝试制作一个简单的 'worklet' 函数,如下所示:
import React from 'react';
import { View, Button } from 'react-native';
const App = () => {
const someWorklet = () => {
'worklet';
console.log('this run on UI thread');
};
return (
<View >
<Button title="Press" onPress={() => { }} />
</View>
);
};
export default App;
正如您在上面看到的,它只是 App.js
上的一个简单代码,但是如果我输入 'worklet'
关键字,它总是会出现 undefined is not a function
错误,如下所示:
如果你明白了,请告诉我。谢谢 :)
哦,我觉得自己像个愚蠢的人...
我只需要在 App.js
中导入 react-native-reanimated
就可以了。:)
import 'react-native-reanimated'
看起来 react-native-reanimated v2 文档没有提到将 react-native-reanimated
导入到我们项目的顶部...
我刚刚学习 react-native-reanimated
v2,但是我在使用 'worklet' 关键字创建函数时遇到问题。
我使用 npx react-native init myApp
在 React Native 裸项目 上安装了 react-native-reanimated
v2。
我已遵循所有 react-native-reanimated
v2 安装说明,包括:
- 正在配置 babel.config.js
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
'react-native-reanimated/plugin'
]
};
- 启用hermes,设置为true
- 正在配置
MainApplication.java
文件 - 清理构建
- 使用
yarn start --reset-cache
重置缓存
我尝试制作一个简单的 'worklet' 函数,如下所示:
import React from 'react';
import { View, Button } from 'react-native';
const App = () => {
const someWorklet = () => {
'worklet';
console.log('this run on UI thread');
};
return (
<View >
<Button title="Press" onPress={() => { }} />
</View>
);
};
export default App;
正如您在上面看到的,它只是 App.js
上的一个简单代码,但是如果我输入 'worklet'
关键字,它总是会出现 undefined is not a function
错误,如下所示:
如果你明白了,请告诉我。谢谢 :)
哦,我觉得自己像个愚蠢的人...
我只需要在 App.js
中导入 react-native-reanimated
就可以了。:)
import 'react-native-reanimated'
看起来 react-native-reanimated v2 文档没有提到将 react-native-reanimated
导入到我们项目的顶部...