React native 反冲-如何使用socket.io正确更新atom

React native 反冲-如何使用socket.io正确更新atom,react-native,recoiljs,React Native,Recoiljs,我必须更新React组件之外的atom(我不能使用钩子)。为了在订阅带有诸如useRecoilState等钩子的React组件中获得更新的值,正确的方法是什么?您通常不想遇到这种情况:我建议先仔细检查您的方法 然而,如果你最终仍然需要更新React组件之外的原子,你可以尝试一下 在具有RecoilRoot的同一文件中,您将有如下内容: import React from 'react'; import { RecoilRoot } from "recoil" import R

我必须更新React组件之外的atom(我不能使用钩子)。为了在订阅带有诸如useRecoilState等钩子的React组件中获得更新的值,正确的方法是什么?

您通常不想遇到这种情况:我建议先仔细检查您的方法

然而,如果你最终仍然需要更新React组件之外的原子,你可以尝试一下

在具有RecoilRoot的同一文件中,您将有如下内容:

import React from 'react';
import { RecoilRoot } from "recoil"
import RecoilNexus from 'recoil-nexus'

export default function App() {
  return (
    <RecoilRoot>
      <RecoilNexus/>
      
      {/* ... */}
      
    </RecoilRoot>
  );
};


export default App;
请记住使用别名导入,否则ESlint会对您大喊大叫



请检查此示例。

如果您想征求意见,这是非常困难的,最好检查您尝试过的内容并从中开始,以提供更好的方法唯一的方法是通过选择器。否则,您将不会收到有关更改的通知。
import yourAtom from './yourAtom'
import { useRecoilNexus as üseRecoilNexus } from 'recoil-nexus'

const [getAtomValue, setAtomValue] = üseRecoilNexus(yourAtom)