We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hi @piyush-eon
I'm trying to implement the drag & drop function, but after dropping the card, it's giving me this error: TypeError: Object(...) is not a function.
TypeError: Object(...) is not a function
I only made changes to MainScreen & MyNotes. Hope you can look into this. Thanks for the great tutorial!
MainScreen.js
import React from 'react' import { Droppable } from 'react-beautiful-dnd'; import { Container, Row } from 'react-bootstrap' import "./MainScreen.css" const MainScreen = ({ title, children}) => { return ( <div className="mainback"> <Droppable droppableId="tdl"> {(provided) => ( <Container> <Row> <div className="page" ref={provided.innerRef} {...provided.droppableProps} > {title && ( <> <h1 className="heading">{title}</h1> <hr /> </> )} {children} </div> </Row> </Container> )} </Droppable> </div> ); } export default MainScreen
MyNotes.js
import MainScreen from "../../components/MainScreen"; import { Accordion, Badge, Button, Card } from "react-bootstrap"; import { Link, useHistory } from "react-router-dom"; import axios from "axios"; import { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { deleteNoteAction, listNotes } from "../../actions/notesActions"; import Loading from "../../components/Loading"; import ErrorMessage from "../../components/ErrorMessage"; import ReactMarkdown from "react-markdown"; import { DragDropContext, Draggable, Droppable } from "react-beautiful-dnd"; import { noteListReducer } from "../../Reducer/notesReducers"; import { NOTES_LIST_REQUEST, NOTES_LIST_SUCCESS } from "../../constants/notesConstants"; const MyNotes = ({ search }) => { const dispatch = useDispatch(); const noteList = useSelector((state) => state.noteList); const { loading, notes, error } = noteList; const userLogin = useSelector((state) => state.userLogin); const { userInfo } = userLogin; const noteCreate = useSelector((state) => state.noteCreate); const { success: successCreate } = noteCreate; const noteUpdate = useSelector((state) => state.noteUpdate); const { success: successUpdate } = noteUpdate; const noteDelete = useSelector((state) => state.noteDelete); const { loading: loadingDelete, error: errorDelete, success: successDelete, } = noteDelete; const deleteHandler = (id) => { if (window.confirm("Are you sure")) { dispatch(deleteNoteAction(id)); } }; const history = useHistory(); useEffect(() => { dispatch(listNotes()); if (!userInfo) { history.push("/"); } }, [ dispatch, successCreate, history, userInfo, successUpdate, successDelete, ]); function handleOnDragEnd(result) { if (!result.destination) return; const items = Array.from(notes); const [reorderedItem] = items.splice(result.source.index, 1); items.splice(result.destination.index, 0, reorderedItem); NOTES_LIST_SUCCESS(items); } return ( <DragDropContext onDragEnd={handleOnDragEnd}> <MainScreen title={`Welcome Back ${userInfo.name}`}> <Link to="createnote"> <Button style={{ marginLeft: 10, marginBottom: 6 }} size="lg"> Create </Button> </Link> {errorDelete && ( <ErrorMessage variant="danger">{errorDelete}</ErrorMessage> )} {error && <ErrorMessage variant="danger">{error}</ErrorMessage>} {loading && <Loading />} {notes ?.reverse() .filter((filteredNote) => filteredNote.title.toLowerCase().includes(search.toLowerCase()) ) .map((note, index) => ( <Accordion> <Draggable draggableId={note._id.toString()} index={index}> {(provided) => ( <Card style={{ margin: 10 }} key={note._id} index={index} ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps} > <Card.Header style={{ display: "flex" }}> <span style={{ color: "black", textDecoration: "none", flex: 1, cursor: "pointer", alignSelf: "center", fontSize: 18, }} > <Accordion.Toggle as={Card.Text} variant="link" eventKey="0"> {note.title} </Accordion.Toggle> </span> <div> <Button href={`/note/${note._id}`}>Edit</Button> <Button variant="danger" className="mx-2" onClick={() => deleteHandler(note._id)} > Delete </Button> </div> </Card.Header> <Accordion.Collapse eventKey="0"> <Card.Body> <h4> <Badge variant="success"> Category - {note.category} </Badge> </h4> <blockquote className="blockquote mb-0"> <ReactMarkdown>{note.content}</ReactMarkdown> <footer className="blockquote-footer"> Created on{" "} <cite title="Source Title"> {note.createdAt.substring(0, 10)} </cite> </footer> </blockquote> </Card.Body> </Accordion.Collapse> </Card> )} </Draggable> </Accordion> ))} </MainScreen> </DragDropContext> ); }; export default MyNotes;
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hi @piyush-eon
I'm trying to implement the drag & drop function, but after dropping the card, it's giving me this error:
TypeError: Object(...) is not a function
.I only made changes to MainScreen & MyNotes. Hope you can look into this. Thanks for the great tutorial!
MainScreen.js
MyNotes.js
The text was updated successfully, but these errors were encountered: