# Veramo React ## Setup context provider `index.tsx` ```typescript import React from "react"; import ReactDOM from "react-dom"; import App from "./App"; import VeramoProvider from "@veramo/react"; import mockStorage from 'mock' const config = { storage: mockStorage }; ReactDOM.render( <React.StrictMode> <VeramoProvider config={config}> <App /> </VeramoProvider> </React.StrictMode>, document.getElementById("root") ); ``` ## Use `App.tsx` ```typescript import React from 'react'; import { useVeramo } from '@veramo/react'; import { IIdentifier, createAgent } from '@veramo/core'; function App() { const { agent, createAgentFromConfig, addAgent, removeAgent, setActive } = useVeramo(); const [identifiers, setIdentifiers] = React.useState<IIdentifier[]>([]); const agent1 = createAgent({ context: { name: 'Registry', picture: '...' } plugins: [ AgentRestClient({ url: 'https://sun.veramo.io', enabledMethods: ['resolveDid'] }), AgentRestClient({ url: 'https://jupiter.veramo.io', enabledMethods: ['handleMessage'] }), ] }) addAgent(agent1) setActive(0) React.useEffect(() => { agent .didManagerFind() .then(setIdentifiers) }, [agent]); return ( <div> {agent.context.name} <ul> {identifiers.map(identifier => ( <li>{identifier.did}</li> ))} </ul> </div> ); } export default App; ```