如何修复 currentFocusedField 已弃用,并将在未来版本中删除。使用 currentFocusedInput

Ana*_*ruf 7 reactjs react-native react-native-router-flux

我使用 react native 和 react-native-router-flux 进行导航

当我想移动屏幕时,出现错误“currentlyFocusedField 已弃用,将在未来版本中删除。使用 currentFocusedInput”

但屏幕仍然因错误而移动

我如何解决它

这是我的路由器

    import 'react-native-gesture-handler';

import React, { Component } from 'react';
import {
    Router,
    Scene,
    Stack,
} from 'react-native-router-flux';

import Loading from '../screens/Loading';
import Welcome from '../screens/Welcome';
import Register from '../screens/Auth/Register';

export default class RouterLinked extends Component {
    render() {
        return (
            <Router>
                <Stack key="root" type="replace">
                    <Scene key="Welcome" component={Welcome} initial={true} hideNavBar={true}/>
                    <Scene key="Register" component={Register} title="Register" />
                    <Scene key="Loading" component={Loading} />
                </Stack>
            </Router>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的主页

import React, { Component } from 'react';
import { View, Button, Text } from 'react-native';

import { Actions } from 'react-native-router-flux';

export default class Welcome extends Component {
    render() {

        return(
            <View>
                <Text>Welcome</Text>
                <Button 
                    title="Click"
                    onPress={() => Actions.push('Register')}
                />
            </View>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

Sus*_*hil 9

我有同样的问题。我通过以下步骤解决了这个问题。

  1. 首先从文件夹中的@react-navigation包中找到这个文件node_modules

在此处输入图片说明

  1. 全部替换currentlyFocusedField()currentlyFocusedInput().

  2. 重新加载您的应用程序。

就这样。谢谢。

  • 所以是的,这可以修复它,但您通常不想在“node_modules”中进行更改。不应提交此操作,任何重新安装模块都将撤消此更改。 (2认同)

小智 3

这是与react-navigation包相关的问题

该修复可能只需要查找并替换所有currentlyFocusedField实例currentlyFocusedInput

可能这是通过此提交修复的: Github commit ,尽管我最后仍然收到错误。