Recentemente, em um projeto mobile, precisei adicionar no formulário um input onde o usuário inserisse fotos.
O usuário deveria ser capaz de inserir uma foto que já está salva no celular dele dentro de um formulário.
Para fazer isso, usei a lib react-native-image-picker
Para instalar:
1 | npm i react-native-image-picker |
OU
1 | yarn add react-native-image-picker |
Com a lib instalada, podemos dar prosseguimento na nossa atividade.
Precisamos de um botão, que chame o método que vai abrir a galeria:
1 | <Button onPress={handleChoosePhoto} title="Abrir câmera" color="#841584" /> |
Agora vamos implementar o método handleChoosePhoto
:
1 | // Import da lib |
Pronto, se tudo ocorreu bem, você já pode exibir a imagem no seu aplicativo!
Basta acessar seu state:
1 | <Image source={{ uri: photoFile.uri }} /> |
Simples, não é?
Uma observação, no iOS, em específico no emulador, a foto não aparece.
Mas isso não é bug e nem problema de implementação, para exibir realmente precisa ser feito em um dispositivo real! ;)