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

У меня есть кнопка публикации на главной странице администратора, которую я намеревался вызвать событие, которое обновит определенные или может отменить все записи в базе данных. Но я не знаю, как вытащить все данные, а затем манипулировать изнутри этого компонента здесь. Что я импортирую? Как я могу запросить записи? Я не нашел никакой полезной документации по страпам, которая могла бы мне помочь. Я не хочу использовать graphql. Там должен быть более простой способ обряда? Я действительно новичок в страпи, и я застрял на этой проблеме.

Например, я хочу обновить все логическое поле is_published в тип контента «новости» в true. Как бы я изменил следующий компонент?

import React from 'react';
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';    
import styles from './styles.scss';

class PublishButton extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      modal: false,
    };

    this.toggle = this.toggle.bind(this);
  }

  toggle() {
    this.setState({
      modal: !this.state.modal
    });
  }

  onClick = () => {

  }

  render() {
    const externalCloseBtn = <button className={styles.buttonClose} style={{ position: 'absolute', top: '15px', right: '15px' }} onClick={this.toggle}>&times;</button>;

    return (
      <div className={styles.divPublishButton}>
        <Button className={styles.publishButton} color="primary" onClick={ () => {this.onClick(); this.toggle();} }>Publish</Button>
        <Modal isOpen={this.state.modal} toggle={this.toggle} backdrop="true" external={externalCloseBtn} className={this.props.className}>
          <ModalHeader toggle={this.toggle}>Publishing the site...</ModalHeader>
          <ModalBody>
            Normally, It takes around 2 minutes to publish, so please have a cup of coffee and refresh page after 2 minutes......
          </ModalBody>
          <ModalFooter>
            <Button className={styles.button} color="warning" onClick={this.toggle}>Got it!!!</Button>{' '}
          </ModalFooter>
        </Modal>
      </div>
    );
  }
}

export default PublishButton;
...