在我的真实Android设备上,在将屏幕推入堆栈导航后,如果将焦点放在
这种情况不会发生:
我使用以下版本:
TextInput
上,键盘会闪烁一次(然后立即消失)。但是,这种情况不会发生在重新聚焦时,但在任何具有TextInputs的屏幕中导航回并重新推送导航时会再次发生。这种情况不会发生:
- 在Android模拟器中
- 如果我使用
navigation.navigate('...')
下面的代码与在我的设备上运行的完全相同,只是简单的代码没有花哨的东西。
App.js
import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import CategoryScreen from './screens/Category';
const MyStack = createStackNavigator();
export default function App() {
return (
<NavigationContainer>
<MyStack.Navigator>
<MyStack.Screen name="Category" component={CategoryScreen} />
</MyStack.Navigator>
</NavigationContainer>
);
}
Category.js
import React from 'react';
import { View, TextInput, Button } from 'react-native';
export default function Category({ navigation }) {
function goToAnotherCategory() {
navigation.push('Category');
}
return (
<View>
<Button onPress={goToAnotherCategory} title="Go to Another Category" />
<TextInput style={{ margin: 10, borderWidth: 1, backgroundColor: 'white' }} />
</View>
)
}
我使用以下版本:
"dependencies": {
...
"@react-navigation/native": "^5.5.1",
"@react-navigation/stack": "^5.5.1",
"react": "16.11.0",
"react-native": "0.62.2"
...
}
<TextInput autoFocus={true} ... />
让它自动聚焦? - 高鵬翔