Estou recebendo esse erro depois de executar meu aplicativo:
erro: falha no empacotamento: erro: não foi possível resolver o módulo react-native-safe-area-context
de node_modules/react-navigation-stack/lib/module/vendor/views/Stack/StackView.js
: react-native-safe-safe-context-context não foi encontrado no projeto.
Mas a mesma coisa que eu fiz na minha antiga demo. Funcionou perfeitamente bem.
Não sei o que estou fazendo de errado aqui. Por favor, verifique meu código:
Para instalação:
- Reagir a navegação nativa e o gerenciador de gestos:
npm install --save react-navigation
npm install --save react-native-gesture-handler
- Reagir pilha nativa:
npm install --save react-navigation-stack
App.js
import { createAppContainer } from "react-navigation";
import { createStackNavigator } from "react-navigation-stack";
import FirstOptionsPage from "./FirstOptionsPage";
const MainNavigator = createStackNavigator(
{
FirstOptions: FirstOptionsPage
},
{
defaultNavigationOptions: {
headerStyle: {
// backgroundColor: '#28F1A6',
elevation: 0,
shadowOpacity: 0
},
headerTintColor: "#ca375e",
headerTitleStyle: {
fontWeight: "bold",
color: "#161616"
}
}
}
);
const App = createAppContainer(MainNavigator); // For setting Navigation Stack
export default App;
E FirstOptionsPage.js:
import React from "react";
import {
SafeAreaView,
StyleSheet,
View,
Text,
ScrollView,
Switch
} from "react-native";
export default class FirstOptionsPage extends React.Component {
static navigationOptions = {
title: "Preferences"
};
constructor(props) {
super(props);
this.state = {
switch1Value: false
};
}
toggleSwitch1 = value => {
this.setState({ switch1Value: value });
console.log("Switch 1 is: " + value);
};
render() {
const { navigate } = this.props.navigation;
return (
<SafeAreaView style={styles.mainContainerStyle}>
<View style={styles.subContainerStyle}>
<Text style={styles.subtitleTextStyle}>Someone likes my post</Text>
<View style={styles.switchStyle}>
<Switch
onValueChange={this.toggleSwitch1}
value={this.state.switch1Value}
thumbColor={MAGENTA_COLOR_CODE}
trackColor={{
false: GREY_COLOR_CODE,
true: DARK_GREY_COLOR_CODE
}}
/>
</View>
</View>
</SafeAreaView>
);
}
}
Eu sou novo no React-Native. Por favor me ajude a consertar isso.
react-native
react-native-android
react-native-ios
react-native-navigation
Gautam Shrivastav
fonte
fonte
react-native-safe-area-context
nos módulos do nó,react-navigation-stack
requer isso, mas os módulos do nó não o têmRespostas:
Penso que o problema está na
SafeAreaView
, para a nova versão react-native, foi migrada parareact-native-community/react-native-safe-area-view
. Se você deseja usarSafeAreaView
, instale-o primeiro.o novo uso é assim:
para instalá-lo, você pode usar os seguintes comandos:
yarn add react-native-safe-area-view react-native-safe-area-context
.se você não usar o link automático, também será necessário vinculá-lo. para mais detalhes, consulte este link
fonte
error: bundling failed: Error: Unable to resolve module `@react-native-community/masked-view` from `node_modules/react-navigation-stack/lib/module/vendor/views/MaskedView.js`: @react-native-community/masked-view could not be found within the project.
@react-native-community/masked-view
para corrigi-lo. Então meu código funcionou com sucesso. Obrigado pela ajuda.É um pouco engraçado, eu queria adicionar navegação, então eu adicionei
para que isso funcione bem, eu tive que adicionar:
Então eu peguei
então eu peguei
Então, procurei a visualização mascarada (que atualmente não é suportada pela expo, de acordo com o documento git). Então eu descobri que eu uso gatos:
Portanto, a partir de agora eu uso os seguintes comandos no início de todos os meus projetos nativos do react, para poder usar a navegação corretamente:
fonte
Depois de executar estes comandos:
Isso me levou a um erro sobre a exibição mascarada, então eu também tive que executar
npm i @react-native-community/masked-view
e, agora, meu código pode ser executado com êxito no dispositivo físico Android.Agradecemos a Lenoarod e Gautam Shrivastav por apontarem a direção certa.
fonte
0.60
e superior, use yarn em vez de npm e não vincule .Acho que você sente falta da dependência do link com seu projeto, para que você possa tentar como abaixo:
Com React Native 0.6 ou superior:
No iOS, verifique se você tem o Cocoapods instalado e execute:
Com o React nativo 0.59 e a tentativa mais baixa:
fonte
copie tudo e cole no terminal
trabalhe para mim
fonte
Execute o seguinte:
expo
selecionará a versão correta e depois a instalará.fonte
use a recomendação npm i react-navigation-stack para resolver este erro
fonte
Iniciar o Metro Bundler diretamente do diretório do projeto funciona para mim. Alguém pode me informar se também funciona para eles?
# Cache limpo rm -rf $ TMPDIR / react- ; rm -rf $ TMPDIR / haste- ; rm -rf $ TMPDIR / metro- ; vigia vigia-tudo
* # Inicie o Metro Bundler diretamente reative o início nativo
* # Agora execute
react-native run-android
oureact-native run-ios
em outra guiafonte