React Functional组件未在道具更改时渲染

时间:2020-02-12 12:21:56

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

我正在使用本机反应进行开发,并且正在使用功能组件进行开发。但我面临着问题。当我从函数获取回调并将其保存为状态时,我希望该组件将再次呈现。但组件不会再次呈现。请在

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

这工作正常,好像我将在控制台上打印它以获得状态正确的输出一样。但是随着它再次在ComponentTreat中运行,它不会再次呈现组件。我也尝试过useEffect但不能正常工作。谁能为我提供解决方案。

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

刷卡器组件中的刷卡器问题没有刷新。

1 个答案:

答案 0 :(得分:0)

功能组件状态更改如下:

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

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

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

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

此外,如果您使用大量回调,请结帐useCallback()