这是我第一次遇到这个错误,我在两个月前做的上一个react应用程序项目中从未出现过这个错误
错误表明:"column.title"缺少道具验证《column》缺少道具验证">列是来自父元素的道具,我使用了对该道具的销毁。列
我使用了告诉我这种类型的错误的eslint。。。仅用于附加信息
这是App.js:
import React from 'react';
import Column from './Column';
import { initialData } from './initial-data';
const App = () => {
const [Data] = React.useState(initialData);
React.useEffect(() => {
console.log(Data);
}, [Data]);
return Data.columnOrder.map((dataId) => {
const { tasks, columns } = Data;
const column = columns[dataId];
const tasksData = column.taskIds.map((taskId) => tasks[taskId]);
return <Column key={column.id} column={column} tasks={tasksData}></Column>;
});
};
export default App;
这是Column.js:--->我从得到错误
import React from 'react';
// import styled from 'styled-components';
// const Container = styled.div``;
// const Title = styled.h3``;
// const TaskList = styled.div``;
const Column = (props) => {
const { title } = props.column; --> 'error is in this line'
return <p> {title} </p>;
};
export default Column;
我认为,问题是esint希望您使用PropTypes。
你需要在Column
组件后面添加这样的东西(但要使用你的道具属性(:
Column.propTypes = {
column: PropTypes.shape({
title: PropTypes.string
})
};
另外,不要忘记安装道具类型。