我已成功連接我的組件Details.js以便管理組件本身的狀態,這些是步驟:你可以在這里看到演示細節.jsimport React, { useState, useEffect, useRef, ref, useImperativeHandle, forwardRef } from "react"; const cleanValue = () => { setDataHomeTeam([]); setDataAwayTeam([]); }; useImperativeHandle(fowardedRef, () => { return { cleanValue: cleanValue }; });const ConnectedDetails = connect( mapStateToProps, mapDispatchToProps, null)(Details);export default forwardRef((props, ref) => { return <ConnectedDetails {...props} fowardedRef={ref} />;});應用程序.jsconst ref = useRef(); <button onClick={() => ref.current.cleanValue()} type="button">Reset</button><Details ref={ref} />它有效,演示在這里。我的問題是當我將此元素從App.js移動到Leagues.js時,您可以在演示中看到(兩種情況)聯賽.js71號線<button onClick={() => ref.current.cleanValue()} type="button">Reset</button>當我點擊它時出現此錯誤 => TypeError Cannot read property 'cleanValue' of undefined是否可以 ?如果是,我做錯了什么,我該如何解決?
反應元素位置的 UseRef 和 forwardRef 問題
慕雪6442864
2023-03-18 16:11:18