J'ai une balise d'entrée et j'essaie de définir le contenu de l'espace réservé sur les accessoires du composant. Après avoir compilé JSX et l'avoir exécuté dans le navigateur, l'espace réservé ne s'affiche pas du tout. Il ne lance également aucune erreur. Comment puis-je faire ceci?
<input type="text" onChange={this.props.handleChange} placeholder={this.props.name} />
Il ne semble y avoir rien de mal avec ce code dans le composant enfant. L'espace réservé devrait apparaître très bien, comme vous l'avez implémenté.
Voici comment je l'ai défini dans le parent:
import React, { Component } from 'react';
import Title from'./Title';
import TestList from'./TestList';
export default class Layout extends Component {
constructor() {
super();
this.state = {
title: 'Moving Focus with arrow keys.',
placeholder:'Search for something...'
};
}
render() {
return (
<div >
<Title title={ this.state.title } />
<p>{ this.getVal() }</p>
<TestList placeholderText={this.state.placeholder} />
</div>
);
}
}
Voici comment je l'affiche chez l'enfant:
import React, { Component } from 'react';
export default class TestInput extends Component {
constructor(props){
super(props);
};
render() {
return (
<div>
<input type="search" placeholder={this.props.placeholderText} />
);
}
}
}
Un peu de réponse tardive mais j'espère que ça aide! :-)
Une autre réponse serait :: Composant parent
import React, { Component } from 'react';
import TextView from'./TextView';
export default class DummyComponent extends Component {
constructor() {
super();
this.state = {
};
}
render() {
return <TextView placeholder = {"This is placeholder"} />
}
}
Composant enfant
import React, { Component } from 'react';
export default class TextView extends Component {
constructor(props){
super(props);
};
render() {
const { placeholder } = this.props;
return <input type="text" placeholder = {placeholder} />
}
}