Ϊʲô&#x27£»ÎÒ²»Ó¦¸ÃʹÓÃcatch£¨£©À´´¦ÀíReact useEffect API

2021-02-01 21:32

ÔÚ´ËÒ³ÃæÉÏÎĵµ£ºhttps://reactjs.org/docs/faq-°¢¼Ö¿Ë˹.htmlA´úÂë×¢ÊÍ˵¡­×¢Ò⣺ÔÚÕâÀï´¦Àí´íÎó¶ø²»ÊÇcatch£¨£©¿éºÜÖØÒª£¬ÕâÑùÎÒÃǾͲ»»á´Ó×é¼þÖеÄʵ¼Ê´íÎóÖÐ

½â´ð¶¯Ì¬

  • ÎÒÄÜÕÒµ½µÄÒ»ÇÐËƺõ¶¼Óë2016Äê×óÓÒµÄgithubÎÊÌâÓйء£ÎÒ½«Öð×ÖÒýÓÃÕâÀïµÄÄÚÈÝ£¬ÒòΪËüÒÔÇ°ËƺõûÓÐÔÚ¶ÑÕ»Òç³öÖб»½éÉܹý£¬¶øÇÒËü½âÊÍÁËһЩ·Ç³£¸´ÔÓµÄÊÂÇé´ó¸ÅÊÇ£º
    £¨£¨£©=gt£»{¿ØÖÆ̨.log£¨¡°ÍÌÏÂÈ¥ÁË£ ±£©})£» ÄúµÄcatch£¨£©´¦Àí³ÌÐò½«²¶»ñËü֮ǰÔÚthen£¨£©Á´ÖÐÅ׳öµÄÈκδíÎ󣬰üÀ¨ÓÉÓÚasetState£¨£©µ÷ÓöøÓÉrender£¨£©ÒýÆðµÄ´íÎó¡£
    ¼´Ê¹Äú²»Ö±½ÓʹÓÃsetState£¬Èç¹ûÄúµ÷ÓõÄÆäËû´úÂëʹÓÃËü£¬ÄúÒ²¿ÉÄÜ»áÓöµ½ÏàͬµÄÎÊÌ⣨ÀýÈ磬һ¸öRedux dispatch£¨£©£©.
    Èç¹ûÄú²»Ï벶׽ÓÉsetState£¨£©ÒýÆðµÄ´íÎ󣬲¢ÇÒÖ»Ï벶׽ÍøÂç¹ÊÕÏ£¨ÈÃÎÒÃÇÏëÏóÒ»ÏÂÄúµÄ³Ðŵ¡£¾öÐÄ£¨£©Êµ¼ÊÉÏÊÇÒ»¸öfetch£¨£©£©£¬ÄúÏëʹÓõڶþ¸öthen£¨£©²ÎÊýÂðNTINSTAND:
    ×é¼þ°²×°() { ³Ðŵ¡£¾öÐÄ£¨£©¡£È»ºó£¨£¨£©=gt£»{¿ØÖÆ̨.log£¨'·¢Éú´íÎ󣨵«²»ÔÚÉèÖÃ״̬£¡£©'£¬err£©£»}£©£»} ÔÚÕâÖÖÇé¿öÏ£¬³ý·ÇÔÚÁ´µÄºóÃæʹÓÃcatch£¨£©£¬·ñÔòrender£¨£©ÖеĴíÎó½«ÊÇ䲶»ñµÄ£¬²¢ÇÒʹÓÃÁ¼ºÃµÄPromise polyfill£¨»òÕßÔÚChromeºÍÆäËûä¯ÀÀÆ÷ÖÐʹÓñ¾»úPromises£©ÏÔʾ³öÀ´¡£
    Edit£º¸ù¾Ý@MartinµÄ»Ø´ð£¬ÎÒÈ¥²âÊÔÁËÕâ¸ö£¬ÎÒ¿ÉÒÔÈ·ÈÏ£¬ÕâËƺõ²»ÔÙÊÇÒ»¸öÏà¹ØµÄÎÊÌâ¡£´Óv16.0¿ªÊ¼£¬ReactµÄÈκΰ汾¶¼²»»á²¶×½µ½setStateÖеijÊÏÖ´íÎ󣬶øÇÒÓÉÓÚuseStateÖ»ÔÚv16.8ÖÐÒýÈ룬ÕâËƺõ²»¿ÉÄÜÊÇhooksµÄÎÊÌâ¡£
    ÕâÀïÓÐÒ»¸öcodesandbox£¬ËüÑÝʾÁËReact.

    • µÄ¾É°æ±¾ÖеÄԭʼÎÊÌâËüÊÇʾÀýµÄ×÷ÕßµÚÒ»¸öʾÀýʹÓûùÓÚÀàµÄ×é¼þµÄ×é¼þ״̬£º´Ë.setState£¨£©µ¼ÖÂͬ²½ÖØгÊÏÖ£¨»òÖÁÉÙ2016ÄêµÄreact v15.0¾ÍÊÇÕâÑù£¬²»È·¶¨½ñÌìÊÇ·ñ³ÉÁ¢£©¡£Òò´Ë£¬¾¯¸æ×¢Êͺ͵ڶþ¸ö²ÎÊýto.then£¨onResolve£¬onReject£©µÄÓ÷¨ÊÇÓеÀÀíµÄµÚ¶þ¸öʾÀýʹÓú¯Êý×é¼þµÄuseState¹³×Ó£ºsetState²»»áµ¼ÖÂͬ²½ÖØгÊÏÖ£¬Ö»»áµ¼ÖÂÒì²½ÖØгÊÏÖ¡£Òò´Ë£¬¾¯¸æ×¢Êͺ͵ڶþ¸ö²ÎÊýto.then£¨onResolve£¬onReject£©µÄʹÓÃÊDz»ºÏÀíµÄ¡£
      ΪÁË˵Ã÷ÕâÒ»µã£ºÊ¹ÓÃuseState¹³×Ó£¬Äú¿ÉÒÔµ÷Óöà¸ö¸üгÌÐò£¬ËüÃÇÖ»ÔÚÒ»´ÎÖØгÊÏÖʱÉúЧ¡£
      const[a£¬setA]=useState£¨£©£»const[b£¬setB]=useState£¨£©£»const[c£¬setC]=useState£¨£©£»const updateState=£¨£©=gt£»{fetch£¨quot£»)¡£È»ºó£¨res=gt£»{setIsLoaded£¨true£©£»setItems£¨result£©£»}£©.catch£¨£¨error£©=>£»{setIsLoaded£¨true£©£»setError£¨error£©£»}£©}£¬[]£©

      • End

      ÃâÔðÉùÃ÷£º

      ±¾Ò³ÄÚÈݽö´ú±í×÷Õß±¾ÈËÒâ¼û£¬ÈôÒò´Ë²úÉúÈκξÀ·×ÓÉ×÷Õß±¾È˸ºÔ𣬸ÅÓëÇÙµºÍø¹«Ë¾Î޹ء£±¾Ò³ÄÚÈݽö¹©²Î¿¼£¬ÇëÄú¸ù¾Ý×ÔÉíʵ¼ÊÇé¿ö½÷É÷²Ù×÷¡£ÓÈÆäÉæ¼°Äú»òµÚÈý·½ÀûÒæµÈÊÂÏÇë×ÉѯרҵÈËÊ¿´¦Àí¡£