React真的很新,请原谅我,如果这是在本书的第1页......
我在React工作了一小段拖放样品。我可以将<div>
从页面底部拖到&#34;目标&#34; <div>
排在最前面。放置处理程序修改状态,被删除的元素出现在目标中。
所有掉落的元素在水平方向上一个接一个地出现在目标中。
并且存在问题:我希望目标div一直向右滚动以向我显示我刚刚删除的那个。
我在我的drop处理程序中添加了一些代码,用于找到目标(通过引用)并将scrollLeft
设置为一个大数字。 它会导致滚动,但永远不会结束。我假设这是因为我在使用新状态渲染之前在元素上设置scrollLeft
,因此将其设置为&#34;之前的最大值&#34;。
有人能指出我正确的方向吗?
答案 0 :(得分:3)
this.setState
接受第二个可选参数,即在渲染完成后运行的回调。
例如,
this.setState({ /* your state */ }, function() {
...
this.refs.yourRef.scrollLeft = /* someValue */;
});