我有一个异步获取新数据的获取服务,我想在获取新数据时更新组件。
为了简化事情,假设这是我的设置:
class SomeService {
static data;
// can be called by other components (asynchronous)
static fetchData = async () => {
data = await someAsynchronousCall() // data gets a new value
};
}
const HomeScreen = () => {
useEffect(() => {
console.log('new data is: ' + SomeService.data);
}, [SomeService.data]); // I want to trigger this once data changes
return <View> ... </View>
};
Run Code Online (Sandbox Code Playgroud)
我试过这样的事情,但是当data改变时,useEffect不会被调用。
有没有办法获得所需的行为?
我想要一个Text仅限 3 行的视图。
但是,如果文本可以持续超过 3 行,我想要一个按钮来删除行限制;否则该按钮将被隐藏。
为了做到这一点,我需要某种方法来知道是否已达到限制。
有没有办法做到这一点而不用做一些黑客的事情GeometryReader?