这真是React的新手,如果这是本书第1页上的内容,请原谅我...
我在React中有一个小的拖放示例。我可以将其<div>
从页面底部拖到<div>
顶部的“目标”中。放置处理程序修改状态,并且放置的元素出现在目标中。
所有放置的元素都水平地依次出现在目标中。
有一个问题:我希望目标div一直滚动到右侧,向我展示我刚刚放下的那个。
我向放置处理程序中添加了一些代码,该代码找到了目标(通过引用)并设置scrollLeft
为一个大数字。它会导致滚动,但不会一直持续到最后。我假设这是因为我在scrollLeft
用新状态呈现元素之前先对其进行设置,因此将其设置为“先前的最大值”。
谁能指出我正确的方向?
this.setState
接受第二个可选参数,该参数是在渲染完成后运行的回调。
例如,
this.setState({ /* your state */ }, function() {
...
this.refs.yourRef.scrollLeft = /* someValue */;
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句