如何将 recoil 库与 React Native 集成?

4
我正在尝试使用Facebook的新状态管理库recoil,我在一个ReactJS项目上尝试了Getting started示例,并且它完美地工作了。之后,我尝试在一个React Native项目上使用recoil,但是出现了错误:

Error message

这是我尝试过的代码:

App.js

import React from 'react';
import {RecoilRoot} from 'recoil';
import RecoilTest from './RecoilTest';

const App = () => {
  return (
    <RecoilRoot>
      <RecoilTest />
    </RecoilRoot>
  );
};

export default App;

RecoilTest.js

import React from 'react';
import {useRecoilState} from 'recoil';
import {View, Text} from 'react-native';
import {textState} from './Atoms';

const RecoilTest = () => {
  const [text, setText] = useRecoilState(textState);
  return (
    <View>
      <Text>{text}</Text>
    </View>
  );
};

export default RecoilTest;

Atoms.js

import {atom} from 'recoil';

export const textState = atom({
  key: 'textState',
  default: 'initial value',
});

1
对于这样一个年轻的库,你应该在他们的Github上发布一个问题。 - Dennis Vash
5个回答

3

Recoil目前还不完全支持React Native


1
现在的情况是2022年2月,它们现在是否有完全支持? - ubaidh khatlani

2

2

发布计划

点此查看

大家好!我们已经发布了一个“夜间构建”分支用于测试。如果您想在下一个版本发布之前尝试使用React Native中的Recoil,请使用npm/yarn的“安装git分支”功能安装夜间分支:

npm install https://github.com/facebookexperimental/Recoil.git#nightly

或者 yarn add https://github.com/facebookexperimental/Recoil.git#nightly


2

这个功能在夜间构建版本中受支持。如果您想在下一个版本发布之前尝试它,可以执行以下安装操作:

yarn add https://github.com/facebookexperimental/Recoil.git#nightly

更新内容可以在这个PR中查看:PR

RN目前有任何开发工具可用吗? - devsourav

-2

尝试在您的 RecoilTest.js 文件中使用 'useRecoilValue' 替代

const [text, setText] = useRecoilValue(textState);

useRecoilValue仅提供状态值,不提供setText。 - kkangil
这是错误的。useRecoilValue 不能被解构,且是只读值。 - rantao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接