Javascript 如何使用react表以编程方式调整列的大小
使用时,您可以指定Javascript 如何使用react表以编程方式调整列的大小,javascript,reactjs,react-table,Javascript,Reactjs,React Table,使用时,您可以指定defaultColumn,将默认列宽指定为 const defaultColumn = React.useMemo( () => ({ Header: DefaultHeader, Cell: DefaultCell, width: 200, }), [] ); 我怎样才能在一段时间后以编程方式更改该200?如果我要做 const defaultColumn = { Header: D
defaultColumn
,将默认列宽指定为
const defaultColumn = React.useMemo(
() => ({
Header: DefaultHeader,
Cell: DefaultCell,
width: 200,
}),
[]
);
我怎样才能在一段时间后以编程方式更改该200
?如果我要做
const defaultColumn = {
Header: DefaultHeader,
Cell: DefaultCell,
width: 200,
};
然后更新
200
,则它没有效果,因为react table
只在初始化时读取这些值。因为有一个usemo
钩子,所以可以使用传递给它的依赖项数组
您可以这样定义defaultColumn
:
const defaultColumn = React.useMemo(
() => ({
Header: DefaultHeader,
Cell: DefaultCell,
width: colWidth,
}),
[colWidth]
);
其中colWidth
是要传递给创建defaultColumn的宽度。
现在,当colWidth更改时,UseMoom
将在渲染时创建新的defaultColumn
(请注意,
colWidth
是与defaultColumn
相同范围内的一个变量)。因为有一个usemo
钩子,所以可以使用传递给它的依赖项数组
您可以这样定义defaultColumn
:
const defaultColumn = React.useMemo(
() => ({
Header: DefaultHeader,
Cell: DefaultCell,
width: colWidth,
}),
[colWidth]
);
其中colWidth
是要传递给创建defaultColumn的宽度。
现在,当colWidth更改时,UseMoom
将在渲染时创建新的defaultColumn
(请注意,
colWidth
是与defaultColumn
相同范围内的一个变量)。对不起,useMoom
使这个问题有点误导。即使没有这一点,宽度的变化也不会更新。因此,useMemo
使这个问题有点误导。即使没有这一点,对宽度的更改也不会更新它