1.0.0-beta1 • Published 3 years ago

recoil-query v1.0.0-beta1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

recoil-query

recoil 的 selector 默认只会初始化一次,但是我们在使用时经常会需要对数据进行刷新的; 本插件是对于 recoilselector api 的封装,增加刷新的功能;

Install

  // yarn
  yarn add recoil recoil-query

  // npm
  npm install recoil recoil-query --save

Example

import React from 'react';
import ReactDOM from 'react-dom';
import { useRecoilValue, RecoilRoot } from 'recoil';
import { query, useQueryRefresh } from 'recoil-query';

const example = query({
  key: 'example',
  get() {
    return fetch('https://cnodejs.org/api/v1/topics').then((res) => res.json());
  },
});

function App() {
  const refreshExampleValue = useQueryRefresh(example);
  const exampleValue = useRecoilValue(example);

  console.log('exampleValue', exampleValue);

  return (
    <div
      style={{ fontSize: 20 }}
      onClick={() => {
        refreshExampleValue();
      }}>
      Refresh Example Value
    </div>
  );
}

ReactDOM.render(
  <RecoilRoot>
    <React.Suspense fallback={null}>
      <App />
    </React.Suspense>
  </RecoilRoot>,
  document.getElementById('root'),
);

Api

名称描述参数返回值
query选择器queryquery
queryFamily选择器组queryFamilyqueryFamily
useQueryRefresh刷新数据的 hookvoid() => void