React Native 无法定义调用“worklet”的函数:“undefined不是函数”

qfe3c7zg  于 2023-10-22  发布在  React
关注(0)|答案(1)|浏览(134)

我正在学习React Native Reanimated版本2,但在创建调用'worklet'的函数时遇到了一个问题。
我在一个用npx react-native init myApp创建的React Native裸项目上安装了React Native Reanimated版本2。
我已经遵循了所有的安装说明,如下所示。

  • 配置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错误,如下所示。

2fjabf4q

2fjabf4q1#

我觉得自己像个傻瓜...
我只需要导入App.js中的react-native-reanimated和所有完成。:)

import 'react-native-reanimated'

看起来react-native-reanimated v2文档没有提到将react-native-reanimated导入到我们项目的顶部。

相关问题