La forma correcta de hacer una actualización masiva de documentos en reaccionar.
Quiero actualizar de forma masiva el estado de todas las publicaciones y escribir campos en una sola consulta sobre cómo lograrlo.
El estado y el tipo son entradas de selección desplegables.
Componente de todas las publicaciones: -
const AllPosts = () => { const [updateObj ,setUpdateObj] = useState({}) handleUpdate(){ } return ( <> <div> {AllPosts.map((post, index) => ( <Post key={post._id} postId={post._id} postStatus={post.status} postType={post.type} postSubject={post.subject} checked={post?.isChecked || false} onChange={handleAllChecked} checkBoxName={post._id} /> ))} </div> </> ); }; export default AllPosts;Creo que necesitaría un objeto de actualización que tuviera una identificación de publicación como clave y estado y tipo como su valor.
Componente de publicación
const Post = ({ postId, postStatus, postType, postSubject, checked, onChange, checkBoxName, }) => { return ( <div className="post"> <div className="post-checkbox"> <input type="checkbox" id="post-checkbox" name={checkBoxName} checked={checked} onChange={onChange} /> </div> <div> <div>{postSubject}</div> <div className="options"> <select onChange={onChange}> <option>Status A</option> <option>Status B</option> <option>Status C</option> </select> <select onChange={onChange}> <option>Type A</option> <option>Type B</option> <option>Type C</option> </select> </div> </div> </div> ); }; export default Post;