2

我刚刚学习v2,但是在使用“worklet”关键字react-native-reanimated创建函数时遇到了问题。

react-native-reanimated在一个 React Native裸项目上使用npx react-native init myApp.
我已遵循所有react-native-reanimatedv2 安装说明,包括:

  • 配置 babel.config.js

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    'react-native-reanimated/plugin'
  ]
};

  • 启用爱马仕,设置为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出现这样的错误:


错误信息



如果你明白,请告诉我。谢谢 :)
4

1 回答 1

7

哦,我觉得自己像个愚蠢的人...
我只需要导入react-native-reanimatedApp.js完成所有操作.. :)

import 'react-native-reanimated'

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

于 2021-07-20T21:14:03.863 回答