【发布时间】:2015-11-17 04:03:41
【问题描述】:
我刚学react,想实现一个功能: A,B都是组件,如果A滚动,那么B滚动
以下是我的代码
<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,它们会自己更新。
我之前用谷歌搜索过,但找不到答案。希望我蹩脚的英语不会让你感到困惑。
【问题讨论】:
标签: javascript reactjs