{"id":25982665,"url":"https://github.com/combizera/react-native-fundamentals","last_synced_at":"2026-04-16T23:04:44.424Z","repository":{"id":280497839,"uuid":"942193363","full_name":"combizera/react-native-fundamentals","owner":"combizera","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-07T20:25:22.000Z","size":286,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-01T01:58:18.270Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/combizera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-03T18:12:47.000Z","updated_at":"2025-03-07T20:25:25.000Z","dependencies_parsed_at":"2025-03-03T19:42:50.611Z","dependency_job_id":null,"html_url":"https://github.com/combizera/react-native-fundamentals","commit_stats":null,"previous_names":["combizera/react-native-fundamentals"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/combizera/react-native-fundamentals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combizera%2Freact-native-fundamentals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combizera%2Freact-native-fundamentals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combizera%2Freact-native-fundamentals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combizera%2Freact-native-fundamentals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/combizera","download_url":"https://codeload.github.com/combizera/react-native-fundamentals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/combizera%2Freact-native-fundamentals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31907728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-05T09:40:04.089Z","updated_at":"2026-04-16T23:04:44.416Z","avatar_url":"https://github.com/combizera.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Native - Estudos\n\nEste repositório documenta meus estudos sobre React Native, incluindo conceitos fundamentais, diferenças entre componentes e padrões de desenvolvimento.\n\n## Introdução ao React Native\n\nReact Native é um framework desenvolvido pelo Facebook que permite a criação de aplicações móveis usando JavaScript e React. Ele possibilita o desenvolvimento de apps nativos para iOS e Android compartilhando grande parte do código entre as plataformas.\n\n## Componentização\n\nComponentização é um dos princípios fundamentais do React Native. Podemos compará-la a blocos de Lego ou a um quebra-cabeça:\n\n- No quebra-cabeça, cada peça é planejada para ocupar uma posição específica, assim como componentes que têm funções específicas e são criados para serem utilizados em um contexto definido.\n- No Lego, existem peças que podem ser reaproveitadas em diferentes construções, assim como componentes reutilizáveis que podem ser utilizados em várias partes do aplicativo.\n\nUm exemplo desse conceito no React Native é um botão personalizado. Podemos criar um componente **Button**, que pode ser reutilizado com diferentes estilos e comportamentos, mas também podemos ter um **Header**, que é projetado para ocupar um espaço específico na tela.\n\nOutra analogia é a de um carro. O pneu é um componente do carro, mas ele também é formado por diversos outros elementos, como a borracha e o aro. No React Native, um exemplo semelhante seria um **Card de Produto** em um e-commerce. Ele pode ser um componente reutilizável, mas dentro dele podem existir outros componentes menores, como uma imagem, um título e um botão de compra.\n\nEssa abordagem facilita a manutenção e escalabilidade do código, garantindo que cada parte do sistema seja modular e reutilizável.\n\n## Diferença entre ScrollView e FlatList\n\n- **ScrollView**: é utilizado para exibir uma lista de elementos quando a quantidade de itens é pequena e pode ser carregada inteiramente na memória. Ele renderiza todos os elementos de uma vez, o que pode impactar a performance em listas longas.\n- **FlatList**: é otimizado para exibir listas grandes, carregando os elementos sob demanda, à medida que o usuário rola a tela. Isso melhora a performance e o uso de memória.\n\n## Tópicos Futuros\n\n- **Navegação entre telas**\n- **Gerenciamento de estado**\n- **Hooks no React Native**\n- **Estilização com Styled Components e StyleSheet**\n- **Integração com APIs**\n\n---\n\n## Hooks\n\n---\n\n## Imutabilidade\n\n---\n\n## Render\nAnalogia com componentes como cozinheiros, react como garçom e cliente como cliente mesmo.\n\nAcionar\nRenderizar\nComprometer-se\n\n2 formas de um componente renderizar:\n1. Quando é a rendeerização inicial de um componente (escreva um pouco mais)\n2. O componente é atualizado (escreva um pouco mais)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombizera%2Freact-native-fundamentals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcombizera%2Freact-native-fundamentals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcombizera%2Freact-native-fundamentals/lists"}