это 1-й компонент как index.jsxФильтр поиска не работает в React.js
это массив, который содержит все данные.
let details=[{
id:'1',
website: 'amazon',
username:'harry',
password: '1234'
},
{
id:'2',
website: 'flipkart',
username:'nowag',
password: 'gfjh'
},
{
id:'3',
website: 'skype',
username:'king',
password: 'yesyes'
},
{
id:'4',
website: 'facebook',
username:'deep',
password: 'hellohello'
}];
класс приложение начинается здесь
class App extends React.Component{
constructor(props) {
super(props);
this.state= {
filter: null
};
}
setFilter(filter) {
this.setState({filter: filter})
}
render(){
ошибка здесь, что "Не удается прочитать свойство 'фильтр' неопределенных"
let filteredPassword = this.props.details.filter(
(detail) =>{
return detail.website.toLowerCase().indexOf(this.state.search)!= -1;
}
);
return (
<ul>
<Filter onUpdateFilter={this.setFilter} />
{
filteredPassword.map((detail)=>{
return <Detail item={detail} key={detail.id} />
})}
</ul>
)
}
}
export default App;
теперь есть еще один компонент filter.jsx
class Filter extends React.Component{
constructor(props) {
super();
this.state= {
search:'Search'
};
}
updateSearch(event) {
this.setState({search: event.target.value.substr(0,40)});
//this.props.onUpdateFilter(event.target.value.substr(0,40))
}
render() {
return (
<div>
<input type="text" defaultValue={this.state.search} onchange={this.updateSearch.bind(this)}/>
</div>
)
}
}
это w ау, который я пытался запустить свой фильтр, но он не работает
Первое, что я вижу в том, что государство всегда должно управляться из родительского компонента. Детальные компоненты должны быть немыми и не иметь состояния – erichardson30
Я не понимаю вас, где вы упоминаете в коде, можете ли вы, пожалуйста, коротко рассказать мне. –
У вас есть 2 компонента, приложение и фильтр. Фильтр является дочерним элементом приложения, поэтому фильтр не должен иметь свое собственное состояние. Приложение должно содержать состояние как для себя, так и для всех его детей и передавать состояние детям в качестве реквизита. Государство не должно обновляться/мутироваться у детей и должно выполняться только в родителе. – erichardson30