¸üÐÂʱ¼ä:2023Äê09ÔÂ28ÈÕ16ʱ15·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

×é¼þÊǶÀÁ¢ÇÒ·â±ÕµÄµ¥Ôª£¬Ä¬ÈÏÇé¿öÏ£¬Ö»ÄÜʹÓÃ×é¼þ×Ô¼ºµÄÊý¾Ý¡£ÔÚ×é¼þ»¯¹ý³ÌÖУ¬ÎÒÃǽ«Ò»¸öÍêÕûµÄ¹¦Äܲð·Ö³É¶à¸ö×é¼þ£¬ÒÔ¸üºÃµÄÍê³ÉÕû¸öÓ¦ÓõŦÄÜ¡£¶øÔÚÕâ¸ö¹ý³ÌÖУ¬¶à¸ö×é¼þÖ®¼ä²»¿É±ÜÃâµÄÒª¹²ÏíijЩÊý¾Ý¡£ÎªÁËʵÏÖÕâЩ¹¦ÄÜ£¬¾ÍÐèÒª´òÆÆ×é¼þµÄ¶ÀÁ¢·â±ÕÐÔ£¬ÈÃÆäÓëÍâ½ç¹µÍ¨¡£Õâ¸ö¹ý³Ì¾ÍÊÇ×é¼þͨѶ¡£×é¼þͨѶÊǹ¹½¨ React Ó¦Óñز»¿ÉÉÙµÄÒ»»·¡£
×é¼þÊÇ·â±ÕµÄ£¬×é¼þÖ®¼äµÄͨѶÓÐ3ÖÖ·½Ê½£¬·Ö±ðÊǸ¸×é¼þµ½×Ó×é¼þ£¬×Ó×é¼þµ½¸¸×é¼þºÍÐÖµÜ×é¼þÖ®¼äµÄͨѶ£¬ÏÂÃæ·Ö±ð¿´ËüÃǵÄÓ÷¨¡£
¸¸×é¼þÌṩҪ´«µÝµÄstateÊý¾Ý£¬¸ø×Ó×é¼þ±êÇ©Ìí¼ÓÊôÐÔ£¬ÖµÎª state ÖеÄÊý¾Ý£¬×Ó×é¼þÖÐͨ¹ý props ½ÓÊÕ¸¸×é¼þÖд«µÝµÄÊý¾Ý¡£
class Parent extends React.Component {
state = { lastName: 'Íõ' }
render() {
return (
<div>
´«µÝÊý¾Ý¸ø×Ó×é¼þ£º<Child name={this.state.lastName} />
</div>
)
}
}
function Child(props) {
return <div>×Ó×é¼þ½ÓÊÕµ½Êý¾Ý£º{props.name}</div>
}
ÀûÓûص÷º¯Êý£¬¸¸×é¼þÌṩ»Øµ÷£¬×Ó×é¼þµ÷Ó㬽«Òª´«µÝµÄÊý¾Ý×÷Ϊ»Øµ÷º¯ÊýµÄ²ÎÊý¡£
ÎÒÃÇÐèÒªÏÈÀûÓø¸×é¼þÌṩһ¸ö»Øµ÷º¯Êý(ÓÃÓÚ½ÓÊÕÊý¾Ý)£¬ÔÙ½«¸Ãº¯Êý×÷ΪÊôÐÔµÄÖµ£¬´«µÝ¸ø×Ó×é¼þ£¬Ê¾Àý´úÂëÈçÏ£º
class Parent extends React.Component {
getChildMsg = (msg) => {
console.log('½ÓÊÕµ½×Ó×é¼þÊý¾Ý', msg)
}
render() {
return (
<div>
×Ó×é¼þ£º<Child getMsg={this.getChildMsg} />
</div>
)
}
}
×Ó×é¼þͨ¹ý props µ÷Óûص÷º¯Êý£¬½«×Ó×é¼þµÄÊý¾Ý×÷Ϊ²ÎÊý´«µÝ¸ø»Øµ÷º¯Êý¡£
class Child extends React.Component {
state = { childMsg: 'React' }
handleClick = () => {
this.props.getMsg(this.state.childMsg)
}
return (
<button onClick={this.handleClick}>µãÎÒ£¬¸ø¸¸×é¼þ´«µÝÊý¾Ý</button>
)
}
×¢Ò⣺»Øµ÷º¯ÊýÖÐ this Ö¸ÏòÎÊÌâ!
½«¹²Ïí״̬ÌáÉýµ½×î½üµÄ¹«¹²¸¸×é¼þÖУ¬Óɹ«¹²¸¸×é¼þ¹ÜÀíÕâ¸ö״̬ÆäÖй«¹²¸¸×é¼þÖ°ÔðÊÇÌṩ¹²Ïí״̬ºÍ²Ù×÷¹²Ïí״̬µÄ·½·¨¡£ÒªÍ¨Ñ¶µÄ×Ó×é¼þÖ»Ðèͨ¹ý props ½ÓÊÕ״̬»ò²Ù×÷״̬µÄ·½·¨¡£

±±¾©Ð£Çø