渲染组件时如何同步?

时间:2020-09-21 03:43:54

标签: reactjs i18next

当我尝试捕获新数据时遇到了问题,我更改了内容并进行渲染。

import React, { Component } from 'react'
import { withNamespaces } from "react-i18next";

class Untitled extends Component {
  constructor(props) {
    this.columns = [...content]
  }
  render() {
    const columns = this.columns.map((col) => {
      return {
        ...col,
        onCell: (record) => ({
          record,
          dataIndex: col.dataIndex,
          title: col.title,
        }),
      };
    });
    return (
      <div>
        {columns}
      </div>
    )
  }
}

export default Untitled

在这里,当我更改[... content]中的某些值时,我希望“常量列”将更新此新值并将其呈现在return()中。我确定[... content]更新新值时render()中有更新。但是“常量列”仍然保留旧值。

P / s:我不能像this.state {列:[]}那样声明this.columns,因为我不想更改旧版dev的代码。确实,我要在切换语言时在this.columns中获得新值this.props.t(“ TEST”)。

非常感谢您。

1 个答案:

答案 0 :(得分:0)

您可以使用this.forceUpdate()手动触发重新渲染 。您可以在这里https://reactjs.org/docs/react-component.html#forceupdate

获得更多说明