I'm building a fcc-drum machine using React I get the following error when trying to map a data object:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of
App
.
Below is the data that I am trying to map along with my code:
const soundData = [{
letter:"Q",
src:"https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/clap.wav",
id: "clap"
},{
letter:"W",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/hihat.wav",
id:"hihat"
},
{
letter:"E",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/kick.wav",
id:"kick"
},{
letter:"A",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/openhat.wav",
id:"openhat"
},{
letter:"S",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/boom.wav",
id:"boom"
},{
letter:"D",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/ride.wav",
id:"ride"
},{
letter:"Z",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/snare.wav",
id:"snare"
},{
letter:"X",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/tom.wav",
id:"tom"
},{
letter:"C",
src: "https://raw.githubusercontent.com/wesbos/JavaScript30/master/01%20-%20JavaScript%20Drum%20Kit/sounds/tink.wav",
id:"tink"
}]
export default soundData
import React from "react";
import "./App.css";
import soundData from "./soundData.js";
import DrumPad from "./drumPad.js";
class App extends React.Component {
render() {
console.log(soundData);
console.log(DrumPad);
return (
<div id="drum-machine">
<div id="display" />
{soundData.map(Data => (
<DrumPad />
))}
</div>
);
}
}
export default App;
import React from "react";
function DrumPad(props) {
return <div className="drum-pad" />;
}
export default DrumPad
What am I doing wrong?