Javascript react native Animated.spring不';工作不顺利

Javascript react native Animated.spring不';工作不顺利,javascript,reactjs,react-native,react-native-android,Javascript,Reactjs,React Native,React Native Android,我正在使用react原生动画API从左到右进行平滑过渡。 这是我的初始状态 constructor(props) { super(props); this.state = { isDrawerOpened: false, left: new Animated.Value(-100) }; this.setDrawer = this.setDrawer.bind(this); }

我正在使用react原生动画API从左到右进行平滑过渡。 这是我的初始状态

constructor(props) {
        super(props);
        this.state = {
            isDrawerOpened: false,
            left: new Animated.Value(-100)
        };
        this.setDrawer = this.setDrawer.bind(this);
    }
当componentDidMount调用时,它仍然可以正常工作

componentDidMount() {
        Animated.spring(this.state.left, {toValue: 200}).start();
    }
但是当我使用事件来改变状态时(也开始动画)。过渡变得粗糙(不平滑)。 这是我的活动代码

setDrawer() {
        this.setState({
            isDrawerOpened: !this.state.isDrawerOpened
        });

        if (this.state.isDrawerOpened) {
            this.setState({
                left: new Animated.Value(200)
            });
            Animated.spring(this.state.left, {toValue: -100, speed: 1000}).start();
        } else {
            this.setState({
                left: new Animated.Value(-100)
            });
            Animated.spring(this.state.left, {toValue: 200, speed: 1000}).start();
        }
    }

任何人都可以解决这个问题:(,抱歉我的英语不好

尝试使用
useNativeDriver:true
。你的动画现在在JS线程中运行,可能会被JS代码中的其他内容阻止。这将把动画移动到UI线程


请参阅以获取参考。

尝试使用
useNativeDriver:true
。您的动画现在在JS线程中运行,可能会被JS代码中的其他内容阻止。这会将动画移动到UI线程


请参阅以供参考。

确保您的应用程序未处于远程调试模式,如果是,您的应用程序将慢得多。此外,请尝试在发行版中测试它,您的应用程序应该更快。确保您的应用程序未处于远程调试模式,如果是,您的应用程序将慢得多。此外,尝试在发行版中测试它,您的应用程序应该更快。