gpt4 book ai didi

react-native - 当应用程序进入前台时 React Native 强制组件刷新

转载 作者:行者123 更新时间:2023-12-04 05:11:12 26 4
gpt4 key购买 nike

我的应用程序显示一些文本。我需要重新渲染 Component当通过设置 --> 辅助功能 --> 字体大小更改字体大小时:

enter image description here

所以基本上这是se序列:

  • 应用程序已打开(前台)。
  • 用户打开电话设置,以便应用程序进入前台(未完全关闭)。
  • 用户通过设置 --> 辅助功能 --> 更改字体大小
    字体大小。
  • 用户关闭设置并打开应用程序进入前台
    再次。

  • 此时我需要重新加载应用程序,因为有些 Components需要适应。

    我正在使用 react-native-device-info使用 const fontScale = DeviceInfo.getFontScale(); 获取字体大小但在应用程序完全关闭和打开之前,它的值不会更新。

    有任何想法吗?

    最佳答案

    您可以设置 appstatenextAppState .它应该导致组件重新渲染。

    import React, {Component} from 'react';
    import {AppState, Text} from 'react-native';

    class AppStateExample extends Component {
    state = {
    appState: AppState.currentState,
    };

    componentDidMount() {
    AppState.addEventListener('change', this._handleAppStateChange);
    }

    componentWillUnmount() {
    AppState.removeEventListener('change', this._handleAppStateChange);
    }

    _handleAppStateChange = (nextAppState) => {
    if (
    this.state.appState.match(/inactive|background/) &&
    nextAppState === 'active'
    ) {
    console.log('App has come to the foreground!');
    }
    this.setState({appState: nextAppState});
    };

    render() {
    return <Text>Current state is: {this.state.appState}</Text>;
    }
    }

    关于react-native - 当应用程序进入前台时 React Native 强制组件刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55519933/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com