import React from 'react'; import { useSetRecoilState, useRecoilValue } from 'recoil'; import { nanoid } from 'nanoid'; import { $cubes } from './state'; import { Cube } from './Cube'; export const useCube = () => useRecoilValue($cubes); export const useSetCube = () => { const setCubes = useSetRecoilState($cubes); return (x, y, z) => setCubes(cubes => [...cubes, <Cube key={nanoid()} position={[x, y, z]} />]); };