如何解决React (Electron-React-Biolerplate) 不同处理 MacOS 和 Linux (Raspbian OS)
我在我的 MacBook 上开发了一个 React-Electron-Boilerplate(带有 Redux)应用程序。由于它稍后需要在我的 RaspBerryPi 上运行,因此我不时在那里对其进行测试。到现在为止,一切都是一样的......
我通过 WebSocket 检索协调并根据选择的 movementSpec
更新它们的全局状态。但不知何故,这在 macOS 上运行时与在 Rasbian 上运行时不同。
const Websocket = () => {
// dispatch for updating the hardware output position
const positiondispatch = usedispatch<dispatch<PositionActions>>();
// Getting movementSpec to adjust coordinates accordingly
const { movementSpec } = useSelector(
(state: AppState) => state.movementSpecs
);
const ws = new WebSocket(webSocketBaseAddress);
// Retrieve data from websocket
ws.onmessage = useCallback(
(event) => {
const response = JSON.parse(event.data);
const coordinatesRetrieved = JSON.parse(response);
console.log(`TRIGGERED! New Spec: ${movementSpec}`);
// Update State of x and y coordinates
positiondispatch({
type: 'SET_POSITION',payload: coordinationGenerator(
{
rotation: coordinatesRetrieved.ABS_X,seesaw: coordinatesRetrieved.ABS_Y,},movementSpec
),});
},[movementSpec]
);
return (
<div>
<p>{movementSpec}</p>
</div>
);
};
export default Websocket;
当更改 movementSpec
时,Mac 上的 useCallback
函数会更新并将“TRIGGERED!...”文本打印到控制台,但在 RaspBerryPi 上这不起作用。奇怪的是,段落中的文本在两台机器上都会更新。实际上,除此 useCallback
之外的其他一切都完全相同!
我尝试了很多不同的东西,但没有落后。任何想法可能是这个问题的根源?任何帮助表示赞赏!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。