Skip to content

Instantly share code, notes, and snippets.

View astrotim's full-sized avatar

Tim Holt astrotim

View GitHub Profile
@astrotim
astrotim / Home.js
Created December 22, 2017 05:09
stub out a new page
// Home.js
import React from 'react';
class Home extends React.Component {
render() {
return <p>Home</p>;
}
}
export default Home;
$ create-react-app static-react
import React, { Component } from 'react';
+import { BrowserRouter, Link, Switch, Route } from 'react-router-dom';
+import Home from './Home';
+import Post from './Post';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
language: node_js
node_js:
- "node"
cache:
- yarn
install:
- yarn install
script:
- yarn build
deploy:
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
+ "postbuild": "react-snap",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
import React from 'react';
-import ReactDOM from 'react-dom';
+import { hydrate, render } from 'react-dom';
import './index.css';
import App from './App';
-import registerServiceWorker from './registerServiceWorker';
-ReactDOM.render(<App />, document.getElementById('root'));
-registerServiceWorker();
+const rootElement = document.getElementById('root');
import React from 'react';
+import { createClient } from 'contentful';
class Home extends React.Component {
+ state = {
+ posts: []
+ };
+
+ componentWillMount() {
+ const client = createClient({
@astrotim
astrotim / Home.js
Last active December 29, 2017 00:25
updated with Contentful API call
import React from 'react';
import { createClient } from 'contentful';
class Home extends React.Component {
state = {
posts: []
};
componentWillMount() {
const client = createClient({
@astrotim
astrotim / Home.js.diff
Last active December 29, 2017 11:16
added React Router's Link
import React from 'react';
+import { Link } from 'react-router-dom';
import { createClient } from 'contentful';
class Home extends React.Component {
return this.state.posts.map(post => {
console.log(post);
- return <p>Post</p>;
+ return (
@astrotim
astrotim / App.js.diff
Created December 29, 2017 00:39
updated Post route in App.js
<h1 className="App-title">Welcome to React</h1>
- <Link to="/">Home</Link> <Link to="/post/">Post</Link>
</header>
<Switch>
<Route exact path="/" component={Home} />
- <Route path="/post/" component={Post} />
+ <Route path="/post/:id" component={Post} />
</Switch>
</div>
</BrowserRouter>