DEV Community

Cover image for Integração com outros frameworks e bibliotecas em React
Jhonata Vinicius Da Silva Araujo
Jhonata Vinicius Da Silva Araujo

Posted on

Integração com outros frameworks e bibliotecas em React

Integrar o React com outras bibliotecas e frameworks é uma prática comum na construção de aplicações web modernas. Essas integrações podem trazer funcionalidades extras e melhorar a performance da aplicação.

Neste artigo, vamos falar sobre algumas das bibliotecas e frameworks mais utilizados em conjunto com o React e mostrar alguns exemplos de como fazer essas integrações.

React Native

O React Native é uma biblioteca que permite desenvolver aplicativos móveis para iOS e Android com a mesma base de código. Ele utiliza o React como base e adiciona recursos específicos para a criação de interfaces nativas.

Para integrar o React Native com o React, basta criar um novo projeto React Native e utilizar o código do React na parte da interface. É possível utilizar a maioria das bibliotecas e componentes do React em um projeto React Native.

1- Certifique-se de que o seu ambiente de desenvolvimento esteja configurado para o React Native e React.

2- Crie um novo aplicativo React Native usando o comando:

npx react-native init myap
Enter fullscreen mode Exit fullscreen mode

3- Instale as dependências do React e React Native usando o comando:

npm install react react-native
Enter fullscreen mode Exit fullscreen mode

4- Crie um novo arquivo index.js na raiz do seu aplicativo e adicione o seguinte código:

import React from 'react';
import { AppRegistry } from 'react-native';
import App from './App';

const MyApp = () => <App />;

AppRegistry.registerComponent('myapp', () => MyApp);

Enter fullscreen mode Exit fullscreen mode

5- Agora você pode usar componentes do React em seu aplicativo React Native, basta importá-los da maneira usual:

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

const MyComponent = () => {
  return (
    <View>
      <Text>Este é um componente React dentro de um aplicativo React Native.</Text>
    </View>
  );
};

export default MyComponent;

Enter fullscreen mode Exit fullscreen mode

Redux

O Redux é uma biblioteca de gerenciamento de estado que ajuda a manter o estado da aplicação de forma previsível e fácil de gerenciar. Ele é comumente utilizado em conjunto com o React para gerenciar o estado da aplicação.

Para integrar o Redux com o React, primeiro é necessário instalar as dependências do Redux e do React Redux em sua aplicação. Você pode fazer isso executando os seguintes comandos no terminal:

npm install redux react-redux
Enter fullscreen mode Exit fullscreen mode

Em seguida, você precisa definir um objeto de estado inicial para a sua aplicação no arquivo reducer.

O reducer é uma função que define como o estado da sua aplicação deve ser atualizado em resposta a uma ação. Aqui está um exemplo de um reducer simples:

const initialState = {
  counter: 0
};

function reducer(state = initialState, action) {
  switch (action.type) {
    case "INCREMENT":
      return { ...state, counter: state.counter + 1 };
    case "DECREMENT":
      return { ...state, counter: state.counter - 1 };
    default:
      return state;
  }
}

Enter fullscreen mode Exit fullscreen mode

Em seguida, você precisa criar uma instância da store do Redux para gerenciar o estado da sua aplicação.

A store é uma classe que contém o estado global da sua aplicação e métodos para atualizar o estado. Aqui está um exemplo de como criar uma instância da store:

import { createStore } from "redux";
import reducer from "./reducer";

const store = createStore(reducer);

Enter fullscreen mode Exit fullscreen mode

Finalmente, você pode integrar a store com o React usando o Provider do react-redux. O Provider é um componente que envolve a sua aplicação React e fornece acesso ao store.

Você pode usar o connect do react-redux para conectar componentes individuais à store e atualizar o estado da aplicação.

Exemplo:

import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import App from "./App";
import store from "./store";

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById("root")
);

Enter fullscreen mode Exit fullscreen mode

A partir daí, você pode usar o connect do react-redux em seus componentes React para acessar e atualizar o estado global da sua aplicação.

Aqui está um exemplo de como usar o connect para acessar o estado da store:

import React from "react";
import { connect } from "react-redux";

function Counter(props) {
  return <div>{props.counter}</div>;
}

function mapStateToProps(state) {
  return {
    counter: state.counter
  };
}

export default connect(mapStateToProps)(Counter);

Enter fullscreen mode Exit fullscreen mode

React Router

O React Router é uma biblioteca de roteamento que permite criar rotas para a aplicação React. Com ele, é possível criar rotas para diferentes componentes e páginas da aplicação.

Integração do React Router com o React é bastante simples e envolve apenas algumas etapas básicas.
Aqui estão as etapas para integrar o React Router ao React:

1- Instale a biblioteca do React Router usando o seguinte comando npm:

npm install react-router-dom
Enter fullscreen mode Exit fullscreen mode

2- Importe os componentes necessários do React Router no arquivo de origem do React onde você deseja usar o roteamento. Normalmente, você usará BrowserRouter e Route.

Exemplo:

import { BrowserRouter, Route } from "react-router-dom";
Enter fullscreen mode Exit fullscreen mode

3- Envolver o componente raiz do aplicativo com o componente BrowserRouter.

Exemplo:

<BrowserRouter>
  <App />
</BrowserRouter>

Enter fullscreen mode Exit fullscreen mode

4- Defina as rotas para os componentes que você deseja renderizar usando o Route componente.

Exemplo:

<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
Enter fullscreen mode Exit fullscreen mode

Aqui está um exemplo completo de como você pode integrar o React Router ao React:

import React from "react";
import { BrowserRouter, Route } from "react-router-dom";
import Home from "./components/Home";
import About from "./components/About";

function App() {
  return (
    <BrowserRouter>
      <div>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
      </div>
    </BrowserRouter>
  );
}

export default App;

Enter fullscreen mode Exit fullscreen mode

Neste exemplo, criamos um componente de aplicativo que envolve o componente BrowserRouter.

Em seguida, definimos as rotas para os componentes Home e About usando o Route componente.

Quando a rota é correspondida, o componente correspondente é renderizado.

Material UI

O Material UI é uma biblioteca de componentes de interface de usuário baseada no design do Google. Ele fornece uma série de componentes prontos para uso que podem ser facilmente personalizados.

Para integrar o Material UI com o React, basta instalar a biblioteca e importar os componentes que serão utilizados na aplicação. É possível personalizar a aparência dos componentes e adicionar novos estilos.

Por exemplo, para usar o componente Button da Material UI, basta instalar o pacote com o npm e importar o componente no arquivo que será utilizado:

npm install @material-ui/core
Enter fullscreen mode Exit fullscreen mode
import Button from '@material-ui/core/Button';

function App() {
  return (
    <div className="App">
      <Button variant="contained" color="primary">
        Clique aqui
      </Button>
    </div>
  );
}

export default App;
Enter fullscreen mode Exit fullscreen mode

Bootstrap

O Bootstrap é uma biblioteca de componentes de interface de usuário criada pelo Twitter. Ele fornece uma série de componentes prontos para uso que podem ser facilmente personalizados.

Para integrar o Bootstrap com o React, basta instalar a biblioteca e importar os componentes que serão utilizados na aplicação. É possível personalizar a aparência dos componentes e adicionar novos estilos.

Exemplo:

npm install react-bootstrap
Enter fullscreen mode Exit fullscreen mode
import { Button } from 'react-bootstrap';

function App() {
  return (
    <div className="App">
      <Button variant="primary">Clique aqui</Button>
    </div>
  );
}

export default App;

Enter fullscreen mode Exit fullscreen mode

GraphQL

O GraphQL é uma linguagem de consulta de API criada pelo Facebook. Ele permite definir as requisições que serão feitas ao servidor de forma precisa e eficiente.

Para integrar o GraphQL com o React, é necessário escolher uma biblioteca de cliente GraphQL, como o Apollo Client, para gerenciar as consultas e atualizações de dados. O Apollo Client fornece recursos como cache em memória, consultas em lote, gerenciamento de estado local e muito mais.

Para começar a usar o Apollo Client com o React, basta seguir alguns passos básicos:

1- Instale o Apollo Client no seu projeto React:

npm install apollo-boost react-apollo graphql --save
Enter fullscreen mode Exit fullscreen mode

Configure o cliente do Apollo em seu componente React:

import ApolloClient from "apollo-boost";
import { ApolloProvider } from "react-apollo";

const client = new ApolloClient({
  uri: "https://example.com/graphql"
});

function App() {
  return (
    <ApolloProvider client={client}>
      <div>Seu aplicativo aqui</div>
    </ApolloProvider>
  );
}
Enter fullscreen mode Exit fullscreen mode

Crie sua consulta GraphQL em um componente React:

import { Query } from "react-apollo";
import gql from "graphql-tag";

const MY_QUERY = gql`
  query {
    user {
      name
    }
  }
`;

function MyComponent() {
  return (
    <Query query={MY_QUERY}>
      {({ loading, error, data }) => {
        if (loading) return <div>Carregando...</div>;
        if (error) return <div>Erro!</div>;

        return <div>Olá, {data.user.name}!</div>;
      }}
    </Query>
  );
}
Enter fullscreen mode Exit fullscreen mode

Esses são apenas alguns exemplos básicos de como integrar o GraphQL com o React.

Existem muitos recursos adicionais disponíveis, como a criação de mutações para atualizar dados no servidor, a criação de consultas com parâmetros e muito mais.

Next.js

O Next.js é um framework construído em cima do React que facilita a construção de aplicativos React com recursos avançados, como renderização do lado do servidor, roteamento e pré-renderização. Integrar o Next.js ao React é bastante simples e pode ser feito seguindo os seguintes passos:

1- Crie um novo projeto Next.js usando o comando:

npx create-next-app 
Enter fullscreen mode Exit fullscreen mode

ou crie um projeto React existente.

2- Copie o código da pasta pages do projeto Next.js para a pasta src do projeto React.

3- Copie o arquivo next.config.js do projeto Next.js para a raiz do projeto React.

4- Instale as dependências necessárias, como next e react, usando o comando npm install.

5- Adicione o comando "dev": "next dev" ao arquivo package.json do projeto React.

6- Execute o comando:

npm run dev 
Enter fullscreen mode Exit fullscreen mode

Para iniciar o servidor Next.js.

7- Abra o navegador e acesse http://localhost:3000 para visualizar a aplicação.

Além disso, o Next.js também oferece suporte à integração com outras bibliotecas e frameworks, como o TypeScript, o GraphQL e o styled-components, entre outros.

Para integrar essas bibliotecas, basta instalar as dependências necessárias e seguir as instruções de integração fornecidas pela documentação oficial do Next.js.

Conclusão

Integrar o React com outras bibliotecas e frameworks pode melhorar significativamente a experiência do usuário e a eficiência da aplicação.

As bibliotecas e frameworks apresentadas neste artigo são apenas algumas das muitas disponíveis no mercado. É importante escolher aquelas que melhor se adequam às necessidades do projeto e dominá-las para obter os melhores resultados.

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

Sentry mobile image

Improving mobile performance, from slow screens to app start time

Based on our experience working with thousands of mobile developer teams, we developed a mobile monitoring maturity curve.

Read more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay