我有一个向量。我需要删除其中的最后 3 个元素。描述了这个逻辑。程序崩溃。可能是什么错误?
vector<float>::iterator d = X.end();
for (size_t i = 1; i < 3; i++) {
if (i == 1) X.erase(d);
else X.erase(d - i);
}
Run Code Online (Sandbox Code Playgroud) 我有一个上下文,我将其导入到我的功能组件中:
import { TaskContexts } from "../../../contexts";
Run Code Online (Sandbox Code Playgroud)
上下文存储数据和函数。
数据来自上下文并显示在站点上。
const {
editTodo,
setEditID,
toggleTodoCompletion,
editID,
editTodoHandler,
removeTodo,
state,
text,
isEditError,
} = useContext(TaskContexts);
Run Code Online (Sandbox Code Playgroud)
但!
<button onClick={() => editTodo(todo.id)}>
<img src={editIcon} alt="edit button"></img>
</button>
Run Code Online (Sandbox Code Playgroud)
当我尝试调用 editTodo 函数时,它失败并出现以下错误:
Uncaught TypeError: editTodo is not a function
Run Code Online (Sandbox Code Playgroud)
如何修复这个错误?
UPD。
完整组件代码
import React, { useState } from 'react';
import ACTION_TYPES from '../ToDo/reducer/actionTypes';
import RenderedTable from './RenderedTable';
import styles from './TaskList.module.scss';
import allIcon from '../../icons/all.svg';
import completedIcon from '../../icons/completed.svg';
import notCompletedIcon from '../../icons/notCompleted.svg';
import mona from …Run Code Online (Sandbox Code Playgroud)