Advertisement
Guest User

Untitled

a guest
Jan 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # hoc/LocalForage.js
  2.  
  3. const hoc = (ComposedComponent, items = []) => {
  4.     return class extends Component {
  5.         constructor() {
  6.             super();
  7.             this.state = {
  8.                 loading: true,
  9.                 items: {},
  10.             };
  11.         }
  12.     }
  13.  
  14.     async componentDidMount() {
  15.         const data = {};
  16.         items.forEach((item) => {
  17.             data[item] = await localForage.getItem(item);
  18.         });
  19.         this.setState({
  20.             loading: false,
  21.             items: data,
  22.         })
  23.     }
  24.  
  25.     render() {
  26.         if (this.state.loading) return null;
  27.        
  28.         return (
  29.             <ComposedComponent
  30.                 {...this.props}
  31.                 {...this.state}
  32.              />
  33.         );
  34.     }
  35. };
  36.  
  37. # some other page/component
  38.  
  39. render() {
  40.     console.log(this.props.settings);
  41. }
  42.  
  43. export default LocalForage(Home, ['settings']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement