Как вызвать действие из компонента, не подключая его к хранилищу резервов? - PullRequest
0 голосов
/ 29 марта 2020

У меня есть компонент Cards, который принимает реквизит от компонента UserPosts (который подключен к магазину) и отображает карты. Карты не подключены к хранилищу резервов, и я хочу отправить действие в функцию handleDelete. Как я могу это сделать?

import React, { Component } from "react"

class Cards extends Component {

  handleDelete = (id) => {

  }

  render() {
    const { title, description } = this.props.post
    const { postId } = this.props.post._id 
    return (
      <div className="card">
        <div className="card-content">
          <div className="media">
            <div className="media-left">
              <figure className="image is-48x48">
                <img
                  src="https://bulma.io/images/placeholders/96x96.png"
                  alt="Placeholder image"
                />
              </figure>
            </div>
            <div className="media-content" style={{border: "1px grey"}}>
              <p className="title is-5">{title}</p>
              <p className="content">{description}</p>
              <button className="button is-success">Edit</button>
              <button onClick={this.handleDelete(postId)} className="button is-success">Delete</button>
            </div>
          </div>
        </div>
      </div>
    )
  }
}

export default Cards

UserPosts компонент, который передает реквизит

      <div>
        {userPosts &&
          userPosts.map(post => {
            return <Cards key={post._id} post={post} />
          })}
      </div>
    ```

1 Ответ

0 голосов
/ 29 марта 2020

Вы можете использовать глобальное хранилище и напрямую вызывать метод dispatch. Не рекомендуется. Трудно поддерживать и отлаживать.

import { createStore } from 'redux'
const store = createStore(todos, ['Use Redux'])
// Dont create new one, use the one created in root

function addTodo(text) {
  return {
    type: 'ADD_TODO',
    text
  }
}

store.dispatch(addTodo('Read the docs'))
store.dispatch(addTodo('Read about the middleware'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...