Size: a a a

React — русскоговорящее сообщество

2020 December 28

Д

Денис in React — русскоговорящее сообщество
Анастасия Титова
Переслано от Анастасия Титова
Есть fetch запрос:

export const fileFetch = (id, name) => {
  const token = localStorage.getItem('token');
  return dispatch => {
     return fetch(SERVER_NAME + apiDownloadFile(id, name), {
        mode: 'cors',
        method: 'GET',
        headers: {
            'Content-Disposition': `attachment; filename = ${name}`,
            'Authorization': `Bearer ${token}`
        }
     })
    .then(resp => resp.blob())
    .then(data => {
       if (data.message) {
           dispatch(fileObject(FILE_ERROR, data.message));
       } else {
           dispatch(fileObject(FILE_SUCCESS, data));
           return URL.createObjectURL(data);
       }
    })
    .catch(err => {
          dispatch(fileObject(FILE_ERROR, err.message));
    });
 }
}


Есть список файлов, отрисованный в компоненте

<ul className="card__application">
   {ordersCard.documents && ordersCard.documents.map(doc => (<li className="card__item" key={doc}>
   <File />
   <a className="card__download"
       ref={url}
       onClick={() => setDownloadFiles(ordersCard.id, doc)}
       target="_blank"
       name={doc}
       download>{doc}</a>
   </li>))}
</ul>


и функция добавляющая href с сылкой на blob

const url = useRef(null);
const setDownloadFiles = (id, doc) => {
   url.current.href = fileFetch(id, doc);
}


скачивается пустота, уже голову сломала что он хочет(
Такое лучше в codesandbox
источник

АТ

Анастасия Титова... in React — русскоговорящее сообщество
Денис
Такое лучше в codesandbox
Это какая то песочница?
источник

Д

Денис in React — русскоговорящее сообщество
Да
источник

АТ

Анастасия Титова... in React — русскоговорящее сообщество
Сейчас попробую туда внести
источник

V

Vlad in React — русскоговорящее сообщество
Анастасия Титова
Переслано от Анастасия Титова
Есть fetch запрос:

export const fileFetch = (id, name) => {
  const token = localStorage.getItem('token');
  return dispatch => {
     return fetch(SERVER_NAME + apiDownloadFile(id, name), {
        mode: 'cors',
        method: 'GET',
        headers: {
            'Content-Disposition': `attachment; filename = ${name}`,
            'Authorization': `Bearer ${token}`
        }
     })
    .then(resp => resp.blob())
    .then(data => {
       if (data.message) {
           dispatch(fileObject(FILE_ERROR, data.message));
       } else {
           dispatch(fileObject(FILE_SUCCESS, data));
           return URL.createObjectURL(data);
       }
    })
    .catch(err => {
          dispatch(fileObject(FILE_ERROR, err.message));
    });
 }
}


Есть список файлов, отрисованный в компоненте

<ul className="card__application">
   {ordersCard.documents && ordersCard.documents.map(doc => (<li className="card__item" key={doc}>
   <File />
   <a className="card__download"
       ref={url}
       onClick={() => setDownloadFiles(ordersCard.id, doc)}
       target="_blank"
       name={doc}
       download>{doc}</a>
   </li>))}
</ul>


и функция добавляющая href с сылкой на blob

const url = useRef(null);
const setDownloadFiles = (id, doc) => {
   url.current.href = fileFetch(id, doc);
}


скачивается пустота, уже голову сломала что он хочет(
<a href=“path/to/file.extension” download />
источник

DP

Dmitry Plyaskin in React — русскоговорящее сообщество
Допустим есть 2 реакт приложения на странице и им иногда нужно взаимодействовать (Допустим из App-A вызвать метод App-B), как это лучше организовать?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitry Plyaskin
Допустим есть 2 реакт приложения на странице и им иногда нужно взаимодействовать (Допустим из App-A вызвать метод App-B), как это лучше организовать?
1. Стейт менеджер работающий отдельно от этих двух приложений
2. Event bus какой-нибудь самописный или готовый
источник

DP

Dmitry Plyaskin in React — русскоговорящее сообщество
Dmitriy Shuleshov
1. Стейт менеджер работающий отдельно от этих двух приложений
2. Event bus какой-нибудь самописный или готовый
можно про второе чуть подробнее?
источник

MM

Max Max in React — русскоговорящее сообщество
Dmitriy Shuleshov
Сколько уже обучаетесь, есть технический бекграунд?
обучаюсь именно реакту более месяца ,  стек обычный html css js  в качестве бека использовал cms modx revo но есть большое желание одолеть реакт
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Dmitry Plyaskin
можно про второе чуть подробнее?
Ну вроде должно гуглится же легко, eventemitter если первое не пошло😁
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Max Max
обучаюсь именно реакту более месяца ,  стек обычный html css js  в качестве бека использовал cms modx revo но есть большое желание одолеть реакт
Неплохо идете! Не останавливайтесь.
источник

MM

Max Max in React — русскоговорящее сообщество
Dmitriy Shuleshov
Неплохо идете! Не останавливайтесь.
👍
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Dmitry Plyaskin
можно про второе чуть подробнее?
https://www.npmjs.com/package/pubsub-js или что либо подобное ставите снаружи
а в своих реакт-приложениях подписываетесь на изменения во внешнем потоке
ну и туда же можно слать сообщения
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Victor Rusakovich
https://www.npmjs.com/package/pubsub-js или что либо подобное ставите снаружи
а в своих реакт-приложениях подписываетесь на изменения во внешнем потоке
ну и туда же можно слать сообщения
это и есть ивент бас
источник

RS

Roman Still in React — русскоговорящее сообщество
Dmitriy Shuleshov
это и есть ивент бас
Так это русскоговорящее сообщество, че ты
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
так видишь по русски жи написал))
источник

АТ

Анастасия Титова... in React — русскоговорящее сообщество
Vlad
<a href=“path/to/file.extension” download />
проблему это к сожалению не решает(
источник

АТ

Анастасия Титова... in React — русскоговорящее сообщество
Денис
Такое лучше в codesandbox
блин, к сожалению не получится, там уже более 200 файлов, а вырвать один файл из контекста не получится, они взаимосвязаны в большинстве своем( плюс еще редакс, там тоже и сторе и экшины и стэйты за собой в песочницу тащить..
источник

V

Vlad in React — русскоговорящее сообщество
Анастасия Титова
проблему это к сожалению не решает(
почему?
источник

АТ

Анастасия Титова... in React — русскоговорящее сообщество
Vlad
почему?
по прежнему скачивает пустоту
источник