So mache ich eine reaktive App für Essen Rezepte und ziehe Daten aus einer JSON-Datei. Aus irgendeinem Grund werden die .filter und .map der Rezepte nicht als Funktion angezeigt. Jede Hilfe sehr geschätzt.Reagieren Komponente nicht erkennen. Filter als Funktion
In den meisten Beispielen sieht es so aus, als könnten Sie diese Informationen unter Rendern hinzufügen. Ich bin ein Noob mit beiden Codierung und reagieren, so dass ich sicher bin, es ist ein Benutzerfehler.
import React from 'react';
import ReadInput from'./readInput';
import '../Styles/Home.css';
class Input extends React.Component{
constructor(props) {
super(props);
this.state = {
value:''
}
this.handleName = this.handleName.bind(this);
};
handleName(e){
console.log('handleName')
if(e === 'chicken'){
this.setState({value: 1})
} else if (e === 'beef') {
this.setState({value: 2})
} else if (e === 'rice'){
this.setState({value: 3})
}
}
render(){
const menu = this.props.data.filter((recipe) => {
if(recipe.id === this.state.value){
return recipe.dish;
}
})
.map(recipe => {
return(
<div>
<li key={recipe.id}>{recipe.dish}</li>
<li >{recipe.ingredients}</li>
</div>
)
})
return(
<div>
<ReadInput
onChange={this.handleName} />
<button className="homeButton" onClick={this.menu}>Click</button>
<ul className='listStyle'>
{menu}
</ul>
</div>
)
}
}
export default Input;
app Datei
import React from 'react';
import Input from'./Input';
import recipes from'../data.json';
class App extends React.Component{
constructor(props) {
super();
}
render(){
return(
<div>
<Input data={recipes} />
</div>
)
}
}
Export Standard-App;
Wo verwenden Sie diese Eingabekomponente? Scheint, dass 'this.props.data' entweder nicht definiert ist oder kein Array. – garrettmaring
@garrettmaring Ich habe die App hinzugefügt, wo ich die Eingabe verwende ... die Rezepte sind der Inhalt meiner JSON-Datei – angelHank
Ich glaube nicht, dass Sie einfach eine JSON-Datei so importieren können und erwarten, dass sie wie ein Array funktioniert. Sie müssen entweder das Array aus einer JS-Datei exportieren oder die JSON-Datei lesen und parsen, bevor Sie sie wie ein Array verwenden. – djfdev