簡體   English   中英

反應把onChange放在 <div> ,將在 <input/> 在其中被改變

[英]react put a onChange on <div> , will be triggered when the <input/> in it be changed

下面的這段代碼,當我在輸入中輸入文本時,onChange函數將運行。

為什么ondiv上的onChange可以運行? 在哪里可以找到有關此文檔?

class App extends Component {
    render() {
        return (
            <div className="App">
                <GiantInput onChange={(e) => console.log('giant onChange', e.target)}/>


                <div onChange={(e) => {
                    console.log('change!', e);
                }}>
                    輸入2:<input style={{width: '50%', 'border-color': 'black'}}/>
                </div>
            </div>
        );
    }
}

當我使用{... others} = props時,我遇到了這個問題,“ onChange”函數包含在其他函數中,並放在一個div上,它使該組件兩次調用onChange,並且我花費大量時間查找為什么。

這與React.js無關 這稱為事件冒泡

使用e.stopPropagation()停止事件冒泡。

在你的代碼中

<div onChange={e =>console.log('change!', e)}>
      輸入2: <input onChange={e => e.stopPropagation()} 
                 style={{width: '50%', 'border-color': 'black'}}/>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM