React开发Drum Machine应用时按键无法正常渲染显示
React架子鼓机按键不显示问题修复
你的代码存在3个核心问题,按优先级修复后即可正常渲染按键:
- 缺失React应用挂载逻辑:你仅定义了组件,但没有调用ReactDOM将组件渲染到页面节点上,React应用根本未启动,这是按键不显示的核心原因。在JS代码末尾添加React 18对应的挂载代码即可:
const root = ReactDOM.createRoot(document.getElementById('drum-machine')); root.render(<App />);
- DOM id重复冲突:HTML中已经定义了id为
drum-machine的根容器,App组件返回的最外层元素又重复使用了同一个id,会导致DOM结构异常。把App组件render方法里最外层div的id="drum-machine"删掉即可。 - CSS语法瑕疵:
body选择器的闭合大括号外多写了一个分号,虽然不会阻断渲染,但属于无效语法,直接删除该分号即可。
额外补充:你给按键元素设置了className="box",但当前CSS中没有编写对应类的样式,就算组件渲染完成,按键也会挤成一团没有架子鼓按键的视觉效果,可以补充如下基础样式:
#display { display: flex; flex-wrap: wrap; gap: 16px; width: 340px; padding: 40px 20px; margin: 0 auto; } .box { width: 90px; height: 90px; display: flex; align-items: center; justify-content: center; background: #f0f0f0; border: 3px solid #222; border-radius: 6px; font-size: 2rem; font-weight: 700; cursor: pointer; box-shadow: 3px 3px 0 #222; }
内容的提问来源于stack exchange,提问作者Thomas T.
相关产品推荐
相关产品推荐

