-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor to use only react context + render props
- Loading branch information
1 parent
3cdf3b2
commit f496afd
Showing
8 changed files
with
164 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { State, Observe } from '../src'; | ||
|
||
# Counter | ||
|
||
<State initialState={{ count: 0 }}> | ||
{({ setState, ...state }) => { | ||
// cannot leave blank lines here | ||
// but at least we can use JS variables because we are inside a function! | ||
const x = 3; | ||
// no blank lines here either | ||
// you can use comments or a single ; | ||
return ( | ||
// the body of the document can be put inside the render function | ||
// this has to be wrapped in a fragment if it has multiple nodes | ||
// | ||
// code inside the block cannot be indented >= 4 spaces or it will be | ||
// rendered as text instead of parsed | ||
<React.Fragment> | ||
|
||
# H1 | ||
|
||
<button onClick={() => setState(s => ({ count: s.count + x }))}> | ||
Click me | ||
</button> | ||
|
||
The button has been clicked: | ||
|
||
<span>{state.count} times</span> | ||
|
||
</React.Fragment> | ||
)}} | ||
</State> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
import { Init, Observe } from '../src/index'; | ||
import { State, Observe } from '../src/index'; | ||
import Table from './helpers/table'; | ||
|
||
<link href="https://unpkg.com/[email protected]/github-markdown.css" rel="stylesheet" /> | ||
|
@@ -11,19 +11,18 @@ There a number of factors to consider when buying a car. | |
|
||
Use our special formula to help you decide! | ||
|
||
<Init | ||
state={{ | ||
<State | ||
initialState={{ | ||
vehicles: [ | ||
{ name: "Volvo", price: 29000, reliability: 7 }, | ||
{ name: "Honda", price: 25000, reliability: 8 }, | ||
], | ||
revealChoice: false, | ||
}} | ||
key="simple-example" | ||
/> | ||
> | ||
|
||
<Observe> | ||
{({ state: {vehicles} }) => ( | ||
{({vehicles}) => ( | ||
<Table | ||
data={[Object.keys(vehicles[0]), ...vehicles.map(v => Object.values(v))]} | ||
/> | ||
|
@@ -34,7 +33,7 @@ Which should you buy? | |
|
||
<Observe> | ||
{ | ||
({state: {vehicles, revealChoice}, setState}) => { | ||
({vehicles, revealChoice, setState}) => { | ||
const mostReliable = [...vehicles] | ||
.sort((a, b) => b.reliability - a.reliability)[0]; | ||
const handleClick = e => { | ||
|
@@ -53,4 +52,6 @@ Which should you buy? | |
} | ||
</Observe> | ||
|
||
</State> | ||
|
||
</article> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.