Добрый день, задавал этот вопрос, но перефразирую его с кодом.
Есть компонент который хранит в себе input :
class someClass extends React.Component {
constructor(props) {
super(props);
this.state = {
error: null,
isLoaded: false,
items: []
};
}
state = {
searchValue: ''
}
onSearchChange = (event, searchValue) => {
this.setState({ searchValue })
}
onSearchClick = () => {
const { searchValue } = this.state;
fetch("someuri?name="+searchValue)
.then(res => res.json())
.then(
(result) => {
this.setState({
isLoaded: true,
items: result.items
}
);
},
(error) => {
this.setState({
isLoaded: true,
error
});
}
)
.catch(error => console.log('parsing failed', error));
}
return(
<Input leftIcon={<Icon name="search" />}
value={this.state.searchValue}
width="750px"
placeholder="Введите Фамилию и Имя"
onChange={this.onSearchChange}
/> {' '}
<Button use="primary" onClick={this.onSearchClick}>Найти</Button>
)
тут мы вводим значение , делаем поиск по json и по логике выводим его потом в дочку .
Вот дочка :
class SearchHub extends Component{
constructor(props) {
super(props);
this.state = {
error: null,
isLoaded: false,
items: []
};
}
render(){
const { error, isLoaded, items } = this.state;
if (error) {
return <div>Error: {error.message}</div>;
} else if (!isLoaded) {
return <Loader type="big" active> </Loader>;
} else {
return (
<div className={styles.parent}>
<div>
{items.map(item => (
<Gapped gap={20} key={item.name}>
<span><b>{item.rating.totalLove}</b></span>
<span><img src={shape} alt="heart"/></span>
<span><img src={item.avatarUri} alt="avatar" className={styles.photo}/></span>
<span>{item.name}<br/>{item.role}</span>
</Gapped>
))}
</div>
</div>
);
}
}
}
На каком этапе я . Данные вводятся и при нажатии на кнопку идет поиск , делаю вывод в консоль и он выводит верное значение , по сути данные хранятся в items . Но как мне их передать в дочку на отображение ?
redux не использую по причине изучения reactjs и это SPA где redux ненужон.