我在纠结,像Table组件的columns prop应该定义在哪里好?模块中、class内部this指向、class直接指向,还是在class内部定义一个方法返回它?
如果columns最后有个操作(action)字段,就是说表格有操作,那么action column势必要定义render,而这些操作又会用到Foo组件内部的state或者props,这个时候又定义在哪里好呢?
import { Table } from 'antd'
// 1
class Foo extend React.Component {
// 2
getColumns = () = {
// 3
}
render() {
<Table
rowKey="key"
columns={...}
/>
}
}
再者,操作按钮多个的话,操作的数据又可以定义成一个对象,然后在action column的render中渲染。这个时候actions数组又定义在哪儿比较好呢?
const actions = [
{
key: 'detail'
title: '详情'
},
{
key: 'mod',
title: '编辑'
}
]
// action column
{
dataIndex: 'action'
title: 'action'
render: () => {
return ...
}
}
了解到,对象(变量)如果定义在模块中,对象不会被销毁,如果定义在class中或者class的方法中,按理说class和方法也是对象,其占有内存,那岂不是它们对象(变量)也同时占着内存??
不知道我有没有想岔了,所以请教各路大神,望解惑,先谢过了
每个人的做法是不同的,我一般是新建一个
constants.ts
文件来存放处理 Columns 里面的 render 时
当作参考