Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
react-apollo
Advanced tools
React Apollo allows you to fetch data from your GraphQL server and use it in building complex and reactive UIs using the React framework. React Apollo may be used in any context that React may be used. In the browser, in React Native, or in Node.js when you want to server side render.
React Apollo unlike many other tools in the React ecosystem requires no complex build setup to get up and running. As long as you have a GraphQL server you can get started building out your application with React immeadiately. React Apollo works out of the box with both create-react-app
and React Native with a single install and with no extra hassle configuring Babel or other JavaScript tools.
React Apollo is:
Get started today on the app you’ve been dreaming of, and let React Apollo take you to the moon!
It is simple to install React Apollo.
npm install react-apollo --save
That’s it! You may now use React Apollo in any of your React environments.
For an amazing developer experience you may also install the Apollo Client Developer tools for Chrome which will give you inspectability into your React Apollo data.
To get started you will first want to create an instance of ApolloClient
and then you will want to provide that client to your React component tree using the <ApolloProvider/>
component. Finally, we will show you a basic example of connecting your GraphQL data to your React components with the graphql()
enhancer function.
First we want an instance of ApolloClient
. We can import the class from react-apollo
and construct it like so:
import { ApolloClient } from 'react-apollo';
const client = new ApolloClient();
This will create a new client that you can use for all of your GraphQL data fetching needs, but most of the time you will also want to create your own custom network interface. By default Apollo Client guesses that your GraphQL API lives at /graphql
, but this is not always the case. To use your own network interface you may call the createNetworkInterface
function:
import { ApolloClient, createNetworkInterface } from 'react-apollo';
const client = new ApolloClient({
networkInterface: createNetworkInterface({
uri: 'https://graphql.example.com',
}),
});
Replace https://graphql.example.com
with your GraphQL API’s URL to connect to your API.
Next you will want to add a <ApolloProvider/>
component to the root of your React component tree. This component works almost the same as the <Provider/>
component in react-redux
. In fact if you pass a store
prop into <ApolloProvider/>
it will also serve as a provider for react-redux
! To use an <ApolloProvider/>
with your newly constructed client see the following:
import { ApolloProvider } from 'react-apollo';
ReactDOM.render(
<ApolloProvider client={client}>
<MyRootComponent/>
</ApolloProvider>,
document.getElementById('root'),
);
Now you may create components in this React tree that are connected to your GraphQL API.
Finally, to demonstrate the power of React Apollo in building interactive UIs let us connect one of your component’s to your GraphQL server using the graphql()
component enhancer:
import { gql, graphql } from 'react-apollo';
function TodoApp({ data: { todos, refetch } }) {
return (
<div>
<button onClick={() => refetch()}>
Refresh
</button>
<ul>
{todos.map(todo => (
<li key={todo.id}>
{todo.text}
</li>
))}
</ul>
</div>
);
}
export default graphql(gql`
query TodoAppQuery {
todos {
id
text
}
}
`)(TodoApp);
With that your <TodoApp/>
component is now connected to your GraphQL API. Whenever some other component modifies the data in your cache, this component will automatically be updated with the new data.
To learn more about querying with React Apollo be sure to start reading the documentation article on Queries. If you would like to see all of the features React Apollo supports be sure to check out the complete API reference.
There is also an excellent Full-stack React + GraphQL Tutorial on the Apollo developer blog.
For a complete React Apollo API reference visit the documentation website at: http://dev.apollodata.com/react/api.html
All of the documentation for React Apollo including usage articles and helpful recipes lives on: http://dev.apollodata.com/react/
FAQs
React Apollo Hooks, Components, and HOC.
The npm package react-apollo receives a total of 78,857 weekly downloads. As such, react-apollo popularity was classified as popular.
We found that react-apollo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.