React has data but cannot render the solution: 1. In the constructor method, call the getXXX method; 2. Set setState in the getXXX method; 3. When the getXXX request receives the response from the server, When executing setState, just re-trigger page rendering.
The operating environment of this tutorial: Windows 10 system, react18.0.0 version, Dell G3 computer.
What should I do if React has data but cannot render it?
react gets the background data and renders the page without displaying
react's
Component, when the page is rendered for the first time It shows
getXXXmethod is defined outside the component, and
axiosis used to request the background result. In
This method is called in the constructor of Component, and the result of this method is assigned to the
stateattribute.
consoleto output the result of
GetXXX. The result is correct.
reactcomponent is to construct the method first and then call it
render. So it can only be an asynchronous problem
axiosis an asynchronous request. This method is called in the construction method, but the result is not obtained immediately, so
stateis assigned a result member variable, and the result must be empty, so the rendered page has no data.
renderUse
axiosto request, and after obtaining the result, use the
setStatemethod to assign the result to
state. As a result, an error is reported when running, because it will cause an infinite loop, because
setStatewill update the page, that is, call the
rendermethod, and call
setState## in therender
method. #Will cause an infinite loop
method, and setin the
getXXXmethod setState
, so that the page will be rendered first (the data result is empty). When the request ofgetXXX
receives the response from the server, whensetState
is executed, the page rendering will be re-triggered. . Because the request response time is related to server processing, when the response time is very short, the front end will not see the result of empty data. If the background response time is long, you can add aAntd
loading componentSpin
, the prompt is loading
The above is the detailed content of What should I do if react has data but cannot render it?. For more information, please follow other related articles on the PHP Chinese website!