react-chessboard v5.5.0 中onPieceClick事件无法触发的问题求助
react-chessboard v5.5.0 中onPieceClick事件无法触发的问题求助
我现在在用react-chessboard v5.5.0做一个简单的事件处理,想实现用户点击棋子时在控制台打印消息,但onPieceClick函数就是不触发。以下是我最开始的代码:
import React from 'react'; import { Chessboard } from 'react-chessboard'; function App() { const onPieceClick = (piece) => { console.log(`clicked: ${piece}`); }; return ( <div style={{ width: '500px' }}> <h1>click test</h1> <Chessboard id="piece-click-test" position="start" onPieceClick={onPieceClick} /> </div> ); } export default App;
这段代码没效果,我以为是状态管理的问题,于是改成了带useState的版本:
import React, { useState } from 'react'; import { Chessboard } from 'react-chessboard'; function ChessboardClickTest() { const [position, setPosition] = useState("start"); const onPieceClick = (piece) => { console.log(`clicked: ${piece}`); }; return ( <div style={{ width: '500px' }}> <h1>Click Test</h1> <Chessboard id="click-test" position={position} onPieceClick={onPieceClick} /> </div> ); } export default ChessboardClickTest;
但onPieceClick函数还是不执行。我已经排查过这些点:
- 我的react-chessboard版本是5.5.0,
onPieceClick这个prop应该是有效的 - 文件后缀是.jsx
- 传给position的是合法的FEN字符串("start")
是不是这个版本的库有已知问题?还是我漏了什么关键步骤让事件处理器正常工作?
我用的依赖版本:
"chess.js": "^1.4.0", "react": "^19.1.1", "react-chessboard": "^5.5.0", "react-dom": "^19.1.1"
另外我试过降级所有依赖,降级后棋子能正常移动,记谱也没问题,但最新版本里连onPieceClick都不正常工作。我还参考了很多YouTube视频,照着写也还是不行。
内容来源于stack exchange
相关产品推荐
相关产品推荐

