【发布时间】:2020-04-29 14:18:19
【问题描述】:
我希望能够在用户进入应用程序时运行一个函数。我认为 useEffect 已经做了这样的事情,比如如果我选择更改手机的剪贴板(从另一个应用程序复制不同的文本)。但它不会重新渲染组件。
const [clipped, setClipboard] = useState();
const [appView, setAppView] = useState(AppState.currentState);
const getFromClipboard = useCallback(() => {
Clipboard.getString().then(content => {
console.log('content:', content)
setClipboard(content);
});
}, [clipped]);
useEffect(() => {
getFromClipboard();
}, [getFromClipboard, clipped, appView]);
我会假设每次我从不同的应用程序复制一个新文本到我的剪贴板,然后我回到这个应用程序,因为剪辑中的状态发生了变化,它会重新呈现 useEffect?不幸的是,它在第一次初始加载组件后没有调用控制台日志。
我偶然发现了 AppState,并认为我可以尝试一下,但不确定如何使用 useEffect 进行设置?
【问题讨论】:
标签: ios reactjs react-native react-hooks