If I erase that code the app renders OK. First I thought that I cannot access the tracks Array properly in this scope, but if I look into this via browser’s dev-tools, I can see that the TrackList component has the property called tracks, and the Array holds three objects as expected.
Do you have a runnable version of your project that produces this error?
A git repository or (even though a bit silly, it works) a zip file.
(whenever you ask about something it’s a whole lot better if others are able to look at that something instead of having to speculate about it, even more so if they’re not familiar with it because they may be able to figure it out when it’s in front of them but otherwise have no idea what’s going on)
Otherwise this all turns into a guessing game and a whole lot of work creating a project that might or might not match yours.
But yeah, your error is very much suggesting that this.props.tracks does not exist, so, did it get set (who’s responsibility is it to set it?) and is that the location where it should be?
Also worth considering is what a minimal version of passing information to a component looks like. Does that match what you’re doing? Presumably that’s something one could find in a tutorial and then one could adapt it and likely find the difference in that process.
Yes, I think I got it now. The problem is not the TrackList component itself, neither the SearchResults component. I just can’t map tracks property somewhere where it is not defined. I need to test this first, but probably I just couldn’t see the forest from the trees…