孤独プログラマー譚

孤独死が近い。

React hooks useContext

え、useContextがあったらReduxいらないってこと…?

import React, { useState, useEffect } from 'react';
import BarComponent from '../BarComponent/BarComponent';

export const UserCount = React.createContext()

const FooComponent = () => {
  const [count, setCount] = useState(0)

  return (
    <div className="App">
      FooComponent Component<br />
      <button onClick={() => setCount(count + 1)}>increment</button>
      <UserCount.Provider value={[count, setCount]}>
      <BarComponent />
      </UserCount.Provider>
    </div>
  )
};

export default FooComponent;
import React from 'react';
import BazComponent from '../BazComponent/BazComponent';

const BarComponent = () => (
  <div className="App">
    BarComponent Component
    <BazComponent />
  </div>
);

export default BarComponent;
import React, {useContext} from 'react';
import { UserCount } from '../FooComponent/FooComponent';

const BazComponent = () => {
  const [count, setCount] = useContext(UserCount)

  return (
    <div className="App">
      BazComponent Component<br />
      <button onClick={() => setCount(count + 1)}>increment</button>
      <div>{count}</div>
    </div>
  )
};

export default BazComponent;