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
- Desired result: Get background data and display it in a
react
's
Component, when the page is rendered for the first time It shows
- 's attempt: a
getXXX
method 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.
- bug result: The background data received the request, and The result is returned correctly, but the page is not rendered. Use
console
to output the result of
GetXXX. The result is correct.
- bug troubleshooting: determined The background receives the request and returns the correct result, and the front end also outputs the correct result, which means that the page is rendered before the data is obtained, but the loading order of the
react
component is to construct the method first and then call it
render. So it can only be an asynchronous problem
- Analysis:
axios
is 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.
- Attempt: in
render
Use
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 Correct solution: In the constructor, call the - getXXX
method, and set
in 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!

No,youshouldn'tusemultipleIDsinthesameDOM.1)IDsmustbeuniqueperHTMLspecification,andusingduplicatescancauseinconsistentbrowserbehavior.2)Useclassesforstylingmultipleelements,attributeselectorsfortargetingbyattributes,anddescendantselectorsforstructure

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

HTML5aimstoenhancewebdevelopmentanduserexperiencethroughsemanticstructure,multimediaintegration,andperformanceimprovements.1)Semanticelementslike,,,andimprovereadabilityandaccessibility.2)andtagsallowseamlessmultimediaembeddingwithoutplugins.3)Featur

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5aimedtoenhancewebdevelopmentbyintroducingsemanticelements,nativemultimediasupport,improvedformelements,andofflinecapabilities,contrastingwiththelimitationsofHTML4andXHTML.1)Itintroducedsemantictagslike,,,improvingstructureandSEO.2)Nativeaudioand

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
