Передача значения компоненту в качестве реквизита в Nextjs

#reactjs #next.js

#реагирует на #next.js

Вопрос:

Я пытаюсь передать значения редактирования в качестве реквизитов в свой компонент EditForm и получаю значения редактирования ошибок, которые не определены.

Примечание:- editvalues-это объект

Я пытался console.log(editvalues) , и я получаю их в консоли

Мое [id].tsx досье

ОТРЕДАКТИРУЙТЕ Значения редактирования передаются из моего компонента таблицы,обратите lt;EditTwoTone onClick = {() =gt; onEdit(record)}/gt; внимание на компонент в таблице

Компонент таблицы.tsx

 const TableComponent = ({fetchedData}) =gt; {  const [dataSource, setDataSource] = useState(fetchedData);  console.log(fetchedData)  const columns = [  {  title: "Project Name",  dataIndex: "project_name",  key: "project_name",  sorter: (a:String,b:String) =gt; a.project_name.length - b.project_name.length,  },  {  title: "Project Description",  dataIndex: "project_Description",  key: "project_Description",  },  {  title: "NameSpace",  dataIndex: "project_Name_space",  key: "project_Name_space",  },  {  title: "Action",  key: "action",  render: (record: any) =gt; (  lt;Space size="large"gt;  {/* EDIT ICON */}  lt;Link href={`/editproject/${record.project_ID}`}gt;  lt;EditTwoTone onClick = {() =gt; onEdit(record)}/gt;  lt;/Linkgt;  {/* DELETE ICON */}  lt;DeleteOutlined  style={{ color: "red" }}  onClick={() =gt; onDeleteRecord(record)}  /gt;  lt;/Spacegt;  ),  },  ];   import MainComponentLayout from "../../components/Layout/MainLayoutComponent" import EditProject from "../../components/EditProjectForm";    const EditForm = () =gt; {  return(  lt;MainComponentLayout ComponentToRender = {lt;EditProject editvalues = {editvalues}/gt;}/gt;  ) } export const onEdit = (editValues) =gt; {  console.log("on Edit function with values",editValues); }  export default EditForm  

Почему я получаю Необработанную ошибку во время выполнения Ошибка ссылки: значения редактирования не определены

Комментарии:

1. вы пытаетесь передать функцию onEdit в качестве опоры? lt;EditProject editvalues = {onEdit}/gt;

2. Потому что это не определено. Где вы определили editvalues , к чему вы перешли EditProject ? Изнутри editvalues внутрь onEdit не попасть EditForm .

3. lt;EditProject значения редактирования = {onEdit(значения параметров)}/gt;

Ответ №1:

Вы вызываете функцию, которой необходимо передать параметр

 const EditForm = () =gt; {  return(  lt;MainComponentLayout ComponentToRender = {lt;EditProject editvalues = {onEdit(paramsEditValues)}/gt;}/gt;  ) } export const onEdit = (editValues) =gt; {  console.log("on Edit function with values",editValues); }  

ваше имя функции onEdit и editValues параметр requir