6
我剛學反應,並希望實現的功能: 兩個A,B是組件,如果滾動,則B滾動變化scrollTop的在reactjs
以下是我的代碼
<A onScroll="handleScroll"></A>
//what i write now
handleScroll: function(event){
var target = event.nativeEvent.target;
//do something to change scrollTop value
target.scrollTop += 1;
// it looks the same as not use react
document.getElementById(B).scrollTop = target.scrollTop;
}
但實際上我想我這樣的代碼
//what i want
<A scrollTop={this.props.scrollSeed}></A>
<B scrollTop={this.props.scrollSeed}></B>
//...
handleScroll(){
this.setState({scrollSeed: ++this.state.scrollSeed})
}
它類似於input
<input value="this.props.value"/>
<input value="this.props.value"/>
<input ref='c' onChange={handleChange}>
//...
handleChange: function() {
// enter some code in c and then render in a and b automatically
}
換句話說,我想要一些屬性,像scrollTop
(不同 形式<input value={}>
,因爲<A scrollTop={}>
不工作),與一些國家的綁定,讓我可以只需使用setState
,他們會自行更新。
我以前使用Google搜索,但無法找到答案。我希望我可憐的英語不會讓你感到困惑。
感謝您的幫助!我發現沒有必要使用'ReactDOM.findDOMNode()','this.refs.elem'就足夠了(並且也節省了10%的CPU使用量,^ _ ^);在此之前,我只是嘗試將我的代碼放在'componentWillMount'中,但它是'componentDidUpdate';畢竟,再次感謝; – edeity
@edeity,這是非常真實的;修訂。 – Season