我的组件是否需要强制更新到scrollIntoView?

时间:2017-10-11 15:22:28

标签: reactjs react-redux

我正在制作我的第一个反应+ redux应用程序,我有一个问题。我有一个呈现输入字段的组件,并且在其上面添加了一些内容时,我需要它来滚动它。

所以,我刚刚在组件componentDidUpdate()生命周期方法中添加了scrollIntoView:

componentDidUpdate() {
    console.log("scroll");
    this.refs.input.scrollIntoView();
}

唯一的问题是这个组件每次都不会重新渲染(因为它没有任何变化)所以scrollIntoVIew只被调用一次。

我可以强制更新到组件,但这不是很好的做法不是吗?在这种情况下我该怎么办?

1 个答案:

答案 0 :(得分:0)

每次添加内容以重新呈现组件时,您都可以调用string szConnection = String.Format(@"Data Source={0};Initial Catalog=master;User ID={1};Password={2};"); using(SqlConnection connection = new SqlConnection(szConnection)) { connection.Open(); // Use the connection } 并更新组件状态中的某个对象,并调用setState。 你也可以使用第二个参数(回调)到componentDidUpdate,但是React文档说明了setState的第二个参数:

  

第二个参数是可选的回调函数   完成setState后执行并重新呈现组件。   通常我们建议使用componentDidUpdate()来实现这种逻辑   代替。