问题描述
我正在使用称为ReactSwing(https://github.com/ssanjun/react-swing)的库在React应用程序中设置类似滑动功能的控件,而我一直在使用功能组件示例https://github.com/ssanjun/react-swing/blob/master/Examples/index-hook.js。 Api正在运行,滑动功能看起来不错,但是由于无法访问堆栈功能,事实证明很难从卡座中添加和删除卡。该示例说明了我使用这样的设置状态
const [stack,setStack] = useState(null);
//logging cards thrown
const cardThrown = (targetCard) => {
//logs stack
console.log(stack);
};
<ReactSwing
className="stack"
setStack={(stack) => setStack(stack)}
throwout={cardThrown}
>
尽管我知道它应该可以工作,因为setStack={(stack) => console.log(stack)}
向我展示了
{getConfig: ƒ,getSpringSystem: ƒ,on: ƒ,createCard: ƒ,getCard: ƒ,…}
childElements: (4) [{…},{…},{…}]
createCard: ƒ (element,prepend)
destroyCard: ƒ (card)
getCard: ƒ (element)
getConfig: ƒ ()
getSpringSystem: ƒ ()
on: ƒ (eventName,listener)
__proto__: Object
我还建立了一个沙箱(https://codesandbox.io/s/sleepy-sunset-jqjst?file=/src/App.js),有可能帮助进一步解决这一难题,
更新:使用chrome中的react component工具,我可以看到状态已经更新,但是我无法使用API文档中建议的方法访问它,也无法通过控制台对其进行日志记录,因此无法解决为什么?
更新2:使用
useEffect(() => {
console.log(stack)
},[stack]);
告诉我它已经更新了usestate,但是滑动时的常规控制台日志仍然为空?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)