±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚwww.race604.com,ÎÄÕÂÍêÕûµÄ½éÉÜRN
µÄ×é¼þ£¬×îºóͼ±ê¶Ô±ÈÇåÎúÃ÷È·Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£ |
|
¸ÅÊö
¾ÍÏñ Android ¿ª·¢ÖÐµÄ View Ò»Ñù£¬React Native£¨RN£© ÖеÄ×é¼þÒ²ÓÐÉúÃüÖÜÆÚ£¨Lifecycle£©¡£ËùνÉúÃüÖÜÆÚ£¬¾ÍÊÇÒ»¸ö¶ÔÏó´Ó¿ªÊ¼Éú³Éµ½×îºóÏûÍöËù¾ÀúµÄ״̬£¬Àí½âÉúÃüÖÜÆÚ£¬ÊǺÏÀí¿ª·¢µÄ¹Ø¼ü¡£RN
×é¼þµÄÉúÃüÖÜÆÚÕûÀíÈçÏÂͼ£º

Èçͼ£¬¿ÉÒÔ°Ñ×é¼þÉúÃüÖÜÆÚ´óÖ·ÖΪÈý¸ö½×¶Î£º
µÚÒ»½×¶Î£ºÊÇ×é¼þµÚÒ»´Î»æÖƽ׶Σ¬ÈçͼÖеÄÉÏÃæÐéÏß¿òÄÚ£¬ÔÚÕâÀïÍê³ÉÁË×é¼þµÄ¼ÓÔØºÍ³õʼ»¯£»
µÚ¶þ½×¶Î£ºÊÇ×é¼þÔÚÔËÐкͽ»»¥½×¶Î£¬ÈçͼÖÐ×óϽÇÐéÏß¿ò£¬Õâ¸ö½×¶Î×é¼þ¿ÉÒÔ´¦ÀíÓû§½»»¥£¬»òÕß½ÓÊÕʼþ¸üнçÃæ£»
µÚÈý½×¶Î£ºÊÇ×é¼þÐ¶ÔØÏûÍöµÄ½×¶Î£¬ÈçͼÖÐÓÒϽǵÄÐéÏß¿òÖУ¬ÕâÀï×öһЩ×é¼þµÄÇåÀí¹¤×÷¡£
ÉúÃüÖÜÆÚ»Øµ÷º¯Êý
ÏÂÃæÀ´Ïêϸ½éÉÜÉúÃüÖÜÆÚÖеĸ÷»Øµ÷º¯Êý¡£
getDefaultProps
ÔÚ×é¼þ´´½¨Ö®Ç°£¬»áÏȵ÷Óà getDefaultProps()£¬ÕâÊÇÈ«¾Öµ÷ÓÃÒ»´Î£¬ÑϸñµØÀ´Ëµ£¬Õâ²»ÊÇ×é¼þµÄÉúÃüÖÜÆÚµÄÒ»²¿·Ö¡£ÔÚ×é¼þ±»´´½¨²¢¼ÓÔØºò£¬Ê×Ïȵ÷ÓÃ
getInitialState()£¬À´³õʼ»¯×é¼þµÄ״̬¡£
componentWillMount
È»ºó£¬×¼±¸¼ÓÔØ×é¼þ£¬»áµ÷Óà componentWillMount()£¬ÆäÔÐÍÈçÏ£º
void componentWillMount()
|
Õâ¸öº¯Êýµ÷ÓÃʱ»úÊÇÔÚ×é¼þ´´½¨£¬²¢³õʼ»¯ÁË״̬֮ºó£¬ÔÚµÚÒ»´Î»æÖÆ render() ֮ǰ¡£¿ÉÒÔÔÚÕâÀï×öһЩҵÎñ³õʼ»¯²Ù×÷£¬Ò²¿ÉÒÔÉèÖÃ×é¼þ״̬¡£Õâ¸öº¯ÊýÔÚÕû¸öÉúÃüÖÜÆÚÖÐÖ»±»µ÷ÓÃÒ»´Î¡£
componentDidMount
ÔÚ×é¼þµÚÒ»´Î»æÖÆÖ®ºó£¬»áµ÷Óà componentDidMount()£¬Í¨Öª×é¼þÒѾ¼ÓÔØÍê³É¡£º¯ÊýÔÐÍÈçÏ£º
Õâ¸öº¯Êýµ÷ÓõÄʱºò£¬ÆäÐéÄâ DOM ÒѾ¹¹½¨Íê³É£¬Äã¿ÉÒÔÔÚÕâ¸öº¯Êý¿ªÊ¼»ñÈ¡ÆäÖеÄÔªËØ»òÕß×Ó×é¼þÁË¡£ÐèҪעÒâµÄÊÇ£¬RN
¿ò¼ÜÊÇÏȵ÷ÓÃ×Ó×é¼þµÄ componentDidMount()£¬È»ºóµ÷Óø¸×é¼þµÄº¯Êý¡£´ÓÕâ¸öº¯Êý¿ªÊ¼£¬¾Í¿ÉÒÔºÍ
JS ÆäËû¿ò¼Ü½»»¥ÁË£¬ÀýÈçÉèÖüÆÊ± setTimeout »òÕß setInterval£¬»òÕß·¢ÆðÍøÂçÇëÇó¡£Õâ¸öº¯ÊýÒ²ÊÇÖ»±»µ÷ÓÃÒ»´Î¡£Õâ¸öº¯ÊýÖ®ºó£¬¾Í½øÈëÁËÎȶ¨ÔËÐÐ״̬£¬µÈ´ýʼþ´¥·¢¡£
componentWillReceiveProps
Èç¹û×é¼þÊÕµ½ÐµÄÊôÐÔ£¨props£©£¬¾Í»áµ÷Óà componentWillReceiveProps()£¬ÆäÔÐÍÈçÏ£º
void componentWillReceiveProps(
object nextProps
) |
ÊäÈë²ÎÊý nextProps ÊǼ´½«±»ÉèÖõÄÊôÐÔ£¬¾ÉµÄÊôÐÔ»¹ÊÇ¿ÉÒÔͨ¹ý this.props À´»ñÈ¡¡£ÔÚÕâ¸ö»Øµ÷º¯ÊýÀïÃæ£¬Äã¿ÉÒÔ¸ù¾ÝÊôÐԵı仯£¬Í¨¹ýµ÷ÓÃ
this.setState() À´¸üÐÂÄãµÄ×é¼þ״̬£¬ÕâÀïµ÷ÓøüÐÂ״̬Êǰ²È«µÄ£¬²¢²»»á´¥·¢¶îÍâµÄ render()
µ÷Óá£ÈçÏ£º
componentWillReceiveProps:
function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
} |
shouldComponentUpdate
µ±×é¼þ½ÓÊÕµ½ÐµÄÊôÐÔºÍ״̬¸Ä±äµÄ»°£¬¶¼»á´¥·¢µ÷Óà shouldComponentUpdate(...)£¬º¯ÊýÔÐÍÈçÏ£º
boolean shouldComponentUpdate(
object nextProps, object nextState
) |
ÊäÈë²ÎÊý nextProps ºÍÉÏÃæµÄ componentWillReceiveProps º¯ÊýÒ»Ñù£¬nextState
±íʾ×é¼þ¼´½«¸üеÄ״ֵ̬¡£Õâ¸öº¯ÊýµÄ·µ»ØÖµ¾ö¶¨ÊÇ·ñÐèÒª¸üÐÂ×é¼þ£¬Èç¹û true ±íʾÐèÒª¸üУ¬¼ÌÐø×ߺóÃæµÄ¸üÐÂÁ÷³Ì¡£·ñÕߣ¬Ôò²»¸üУ¬Ö±½Ó½øÈëµÈ´ý״̬¡£
ĬÈÏÇé¿öÏ£¬Õâ¸öº¯ÊýÓÀÔ¶·µ»Ø true ÓÃÀ´±£Ö¤Êý¾Ý±ä»¯µÄʱºò UI Äܹ»Í¬²½¸üС£ÔÚ´óÐÍÏîÄ¿ÖУ¬Äã¿ÉÒÔ×Ô¼ºÖØÔØÕâ¸öº¯Êý£¬Í¨¹ý¼ì²é±ä»¯Ç°ºóÊôÐÔºÍ״̬£¬À´¾ö¶¨
UI ÊÇ·ñÐèÒª¸üУ¬ÄÜÓÐЧÌá¸ßÓ¦ÓÃÐÔÄÜ¡£
componentWillUpdate
Èç¹û×é¼þ״̬»òÕßÊôÐԸı䣬²¢ÇÒÉÏÃæµÄ shouldComponentUpdate(...) ·µ»ØÎª
true£¬¾Í»á¿ªÊ¼×¼¸üÐÂ×é¼þ£¬²¢µ÷Óà componentWillUpdate()£¬Æäº¯ÊýÔÐÍÈçÏ£º
void componentWillUpdate(
object nextProps, object nextState
) |
ÊäÈë²ÎÊýÓë shouldComponentUpdate Ò»Ñù£¬ÔÚÕâ¸ö»Øµ÷ÖУ¬¿ÉÒÔ×öһЩÔÚ¸üнçÃæÖ®Ç°Òª×öµÄÊÂÇé¡£ÐèÒªÌØ±ð×¢ÒâµÄÊÇ£¬ÔÚÕâ¸öº¯ÊýÀïÃæ£¬Äã¾Í²»ÄÜʹÓÃ
this.setState À´ÐÞ¸Ä״̬¡£Õâ¸öº¯Êýµ÷ÓÃÖ®ºó£¬¾Í»á°Ñ nextProps ºÍ nextState
·Ö±ðÉèÖõ½ this.props ºÍ this.state ÖС£½ô½Ó×ÅÕâ¸öº¯Êý£¬¾Í»áµ÷Óà render()
À´¸üнçÃæÁË¡£
componentDidUpdate
µ÷ÓÃÁË render() ¸üÐÂÍê³É½çÃæÖ®ºó£¬»áµ÷Óà componentDidUpdate() À´µÃµ½Í¨Öª£¬Æäº¯ÊýÔÐÍÈçÏ£º
void componentDidUpdate(
object prevProps, object prevState
) |
ÒòΪµ½ÕâÀïÒѾÍê³ÉÁËÊôÐÔºÍ״̬µÄ¸üÐÂÁË£¬´Ëº¯ÊýµÄÊäÈë²ÎÊý±ä³ÉÁË prevProps ºÍ prevState¡£
componentWillUnmount
µ±×é¼þÒª±»´Ó½çÃæÉÏÒÆ³ýµÄʱºò£¬¾Í»áµ÷Óà componentWillUnmount()£¬Æäº¯ÊýÔÐÍÈçÏ£º
void componentWillUnmount()
|
ÔÚÕâ¸öº¯ÊýÖУ¬¿ÉÒÔ×öһЩ×é¼þÏà¹ØµÄÇåÀí¹¤×÷£¬ÀýÈçÈ¡Ïû¼ÆÊ±Æ÷¡¢ÍøÂçÇëÇóµÈ¡£
×ܽá
µ½ÕâÀRN µÄ×é¼þµÄÍêÕûµÄÉúÃü¶¼½éÉÜÍêÁË£¬ÔÚ»ØÍ·À´¿´Ò»ÏÂÇ°ÃæµÄͼ£¬¾Í±È½ÏÇåÎúÁË£¬°ÑÉúÃüÖÜÆÚµÄ»Øµ÷º¯Êý×ܽá³ÉÈçϱí¸ñ£º

|