-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.js
43 lines (37 loc) · 894 Bytes
/
client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import React from "react";
import ReactDOM from "react-dom";
import { AppContainer } from "react-hot-loader";
import {
ApolloProvider,
ApolloClient,
createNetworkInterface,
} from "react-apollo";
import { BrowserRouter } from "react-router-dom";
import { useStrict } from "mobx";
import { App } from "../src";
useStrict(true);
const client = new ApolloClient({
networkInterface: createNetworkInterface({
uri: "/api/graphql",
opts: { credentials: "include" },
}),
});
const render = () => {
const container = document.querySelector("#app");
const element = (
<AppContainer>
<ApolloProvider client={client}>
<BrowserRouter>
<App context={{}} />
</BrowserRouter>
</ApolloProvider>
</AppContainer>
);
ReactDOM.hydrate(element, container);
};
render();
if (module.hot) {
module.hot.accept(() => {
render();
});
}