0

我正在使用 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 组件不刷新。

4

1 回答 1

0

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

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

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

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

并将其相应地传递给子道具。

此外,如果您使用大量回调,请检查useCallback() 。

于 2020-02-13T05:49:15.993 回答