antd的可伸缩列用hooks重构后难用的坑,2024京东前端面试真题解析

setOffset(0);

// 这里是props传进来的事件,在外部是列数据中的onHeaderCell方法提供的事件,请自行研究官方提供的案例

onResize(…argu);

}}

draggableOpts={{ enableUserSelectHack: false }}

);

};

function ArticleList(props) {

const [isLoading, setIsLoading] = useState(false);

const [articleList, setArticleList] = useState([{}]);

const [Columns, setColumns] = useState([{}]);

const modelStatusRef = useRef(null);

const getList = () => {

setIsLoading(true);

axios({

method: “get”,

url: servicePath.getArticleList,

withCredentials: true,

}).then(async (res) => {

//console.log(res);

setIsLoading(false);

let list = await res.data.list.map((a) => {

let b = a.addtime;

b = moment(+b).format(“YYYY-MM-DD”); //把时间戳format成需要的格式

a._addtime = b; //保留原始时间戳为addtime,转换后的为_addtime

return a;

});

setArticleList(list);

//console.log(res.data.list)

});

};

const delArticle = (id) => {

confirm({

title: 确定删除(id:${id})?,

content: “ok–删除”,

onOk() {

console.log(servicePath.deleteArticle + ${id});

axios({

method: “get”,

url: servicePath.deleteArticle + id,

withCredentials: true,

}).then((res) => {

//console.log(res)

message.success(“删除成功”);

getList();

});

},

onCancel() {

message.info(“取消删除”);

},

});

};

const changeArticle = (id) => {

props.history.push(/adminIndex/changeArticle/${id});

};

const getListBytitle = (title) => {

setIsLoading(true);

axios({

method: “get”,

url: servicePath.getArticleListBytitle + title,

withCredentials: true,

}).then(async (res) => {

//console.log(res);

setIsLoading(false);

let list = await res.data.list.map((a) => {

let b = a.addtime;

b = moment(+b).format(“YYYY-MM-DD”); //把时间戳format成需要的格式

a._addtime = b; //保留原始时间戳为addtime,转换后的为_addtime

return a;

});

setArticleList(list);

//console.log(res.data.list)

});

};

useEffect(() => {

getList();

let columns = [

{

title: “标题”,

dataIndex: “title”,

width: 300,

},

{

title: “类型”,

dataIndex: “typename”,

width: 100,

},

{

title: “发布时间”,

dataIndex: “_addtime”,

width: 150,

sorter: (a, b) => a.addtime - b.addtime,

},

{

title: “浏览量”,

dataIndex: “viewcount”,

width: 100,

sorter: (a, b) => a.viewcount - b.viewcount,

},

{

title: “操作”,

key: “action”,

render: (item) => (

<Button

type=‘link’

onClick={() => {

console.log(item);

changeArticle(item.id);

}}

修改

<Button

type=‘link’

onClick={() => {

delArticle(item.id);

}}

删除

),

},

];

columns = columns.map((col, index) => ({

…col,

onHeaderCell: (column) => ({

width: column.width,

onResize: handleResize(index),

}),

}));

setColumns(columns);

}, []);

useEffect(() => {

// 每次 更新 把值 复制给 modelStatusRef

modelStatusRef.current = Columns;

}, [Columns]); // 依赖的值 等modelStatus 改变了 才出发里面的值

const handleResize = (index) => (e, { size }) => {

//console.log(modelStatusRef.current)

console.log(size);

const nextColumns = […modelStatusRef.current];

nextColumns[index] = {

…nextColumns[index],

width: size.width,

};

setColumns(nextColumns);

console.log(Columns, nextColumns);

};

const components = {

header: {

cell: ResizeableTitle,

},

};

return (

<Search

placeholder=‘search article’

onSearch={(value) => {

getListBytitle(value);

}}

style={{ width: 200 }}

/>

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

前端资料汇总

我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。

首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在自己的心里划分一个比例。
最后,祝愿大家在这并不友好的环境下都能找到自己心仪的归宿。
资料汇总**

我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。

首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在自己的心里划分一个比例。
最后,祝愿大家在这并不友好的环境下都能找到自己心仪的归宿。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值