Я перешел по ссылке ниже и попытался сделать документ https://www.reddit.com/r/reactjs/comments/82mxz3/how_to_make_an_api_call_on_props_change
В панели поиска я создал текстовое поле, и я получаю значение, но в index.js, когда я даю componentWillRecieveProps и печатаю значения впередать его API, но ничего не печатать. Можете ли вы рассказать мне, как это исправить. Ниже приведена обновленная песочница кода и фрагмент кода.
https://codesandbox.io/s/eloquent-galielo-14874
//import React from "react";
import ReactDOM from "react-dom";
import React, { Fragment, useState, Component } from "react";
import "./styles.css";
class SearchBar extends Component {
state = {
groupCheckBoxValues: [],
groupRadioValue: "PRO"
};
getInitialState() {
return { value: "Hello!" };
}
handleChange(event) {
console.log("handleChange", event.target.value);
this.setState({ value: event.target.value });
}
componentWillReceiveProps({ search }) {
console.log(search);
}
componentDidMount() {
this.fetchdata("story");
}
fetchdata(type = "", search_tag = "") {
var url = "https://hn.algolia.com/api/v1/search?tags=";
fetch(`${url}${type}&query=${search_tag}`)
.then(res => res.json())
.then(data => {
this.props.getData(data.hits);
});
}
render() {
return (
<input
type="text"
value={this.state.value}
onChange={this.handleChange}
/>
);
}
}
export default SearchBar;