【问题标题】:React Functional component is not rendering on props changeReact 功能组件未在道具更改时呈现
【发布时间】:2020-02-13 13:49:15
【问题描述】:

我正在使用 react native 进行开发,我正在使用功能组件进行开发。但我面临着问题。当我从函数中获取回调并将其保存在某个状态时,我希望该组件将再次呈现。但组件不再渲染。请在

中检查并提供详细信息
 callBackfn = (callback) => {
        this.setState({ infomationtosend: callback });                    
    }

这工作正常,就好像我将在控制台上打印它一样获取状态正确的输出。但是当它再次进入 ComponentTreat 时,它不会再次呈现组件。我也试过 useEffect 但不工作。谁能给我解决方案。

<Swiper
   from={0}
   >
    <ComponentTreat
           detailsend={this.state.infomationtosend}
           appName={"sentText"}
           CallBack={(callback) => this.callBackfn(callback)}
      />
 </Swiper>

swiper 中的问题 duw 到 swiper 组件不刷新。

【问题讨论】:

    标签: react-native react-native-ios react-functional-component


    【解决方案1】:

    功能组件状态更改的工作方式如下:

    // Inside parent component
    const [info, setInfo] = useState(initalValue);
    

    然后为了在回调中使用它,我们使用闭包来访问它,而不是使用 this 关键字。

    function callback(newValue) {
      setInfo(newValue);
    }
    

    并相应地传递给子道具。

    另外,如果您使用大量回调,请查看 useCallback()

    【讨论】:

      猜你喜欢
      • 2020-06-27
      • 2020-09-15
      • 1970-01-01
      • 2021-07-29
      • 2021-06-15
      • 2020-04-30
      • 2021-02-27
      • 2021-05-05
      • 2021-08-19
      相关资源
      最近更新 更多