Tell us what’s happening:
I am trying to render letters to the screen (Q,W,E,A, etc). React will not reder letters. Can you please help me to figure out why.
Your code so far
const beats = [
{
keyCode: 81,
keyTrigger: "Q",
id: "Heater-1",
url: "'https://s3.amazonaws.com/freecodecamp/drums/Heater-1.mp3'"
},
{
keyCode: 87,
keyTrigger: "W",
id: "Heater-2",
url: "https://s3.amazonaws.com/freecodecamp/drums/Heater-2.mp3"
},
{
keyCode: 69,
keyTrigger: "E",
id: "Heater3",
url: "https://s3.amazonaws.com/freecodecamp/drums/Heater-3.mp3"
},
{
keyCode: 65,
keyTrigger: "A",
id: "Heater4",
url: "https://s3.amazonaws.com/freecodecamp/drums/Heater-4_1.mp3"
},
{
keyCode: 83,
keyTrigger: "S",
id: "",
url: "https://s3.amazonaws.com/freecodecamp/drums/Heater-6.mp3"
},
{
keyCode: 68,
keyTrigger: "D",
id: "Open-HH",
url: "https://s3.amazonaws.com/freecodecamp/drums/Dsc_Oh.mp3"
},
{
keyCode: 90,
keyTrigger: "Z",
id: "Kick-n'-Hat",
url: "https://s3.amazonaws.com/freecodecamp/drums/Kick_n_Hat.mp3"
},
{
keyCode: 88,
keyTrigger: "X",
id: "Kick",
url: "https://s3.amazonaws.com/freecodecamp/drums/RP4_KICK_1.mp3"
},
{
keyCode: 67,
keyTrigger: "C",
id: "Closed-HH",
url: "https://s3.amazonaws.com/freecodecamp/drums/Cev_H2.mp3"
}
];
//key styles
const padInactive = {
backgroundColor: "#024201d",
boxShadow: "3px 6px 3px black"
};
//React component
class Drum extends React.Component {
constructor(props) {
super(props);
this.state = {
padStyle: padInactive
};
//bind methods here
// this.handelKeyPress=this.handleKeyPress.bind(this);
}
//declare methods here
/*componentDidMount() {
doucment.addEventListener("keydown", this.handleKeyPress);
}
handleKeyPress(event) {
if(event.keyCode===this.props.keyCode){
this.playNote();
}
}
playNote() {
sound.play();
} */
render() {
return (
<div
className="drum-pad"
id={this.props.clipId}
state={this.state.padStyle}
onClick={this.playsound}
>
{this.props.keyTrigger}
</div>
);
}
}
ReactDOM.render(<Drum />, document.getElementById("App"));
My CSS code:
*root {
}
.drum-pad {
border-style: solid;
color: green;
width: 50vw;
height: 50vh;
margin-top: 10em;
margin-left: 10em;
display:flex;
flex-direction:row;
align-items: center;
justify-content:center;
font-size: 0.8em
}
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Challenge: Build a Drum Machine
Link to the challenge: