Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
@tramvai/react
Advanced tools
`@tramvai/react` - library for integrating tramvai features with `React` components
@tramvai/react
- библиотека для интеграции возможностей tramvai
с React
компонентами
npm i --save @tramvai/react
При создание компонентов вам может понадобиться получение данных с di для этого есть hook useDi
и HoC withDi
type useDi = (deps: Record<string, string | Token>) => Record<string, any>;
type useDi = (dep: string | Token) => any;
Хук в который мы можем передать как объект с требуемыми зависимостями и нам вернется объект с данными, так и единичный token, где нам вернется результат. При вызове useDi
мы получаем данные из di и если мы не нашли данных в di, произойдет ошибка.
import React from 'react';
import { useDi } from '@tramvai/react';
const MyComponent = () => {
const { logger } = useDi({ logger: 'logger' }); // передаем объект
const Region = useDi(regionToken); // передаем единичный токен
logger.info('text');
return (
<div>
Component
<Region />
</div>
);
};
type withDi = (
deps: Record<string, string | Token>
) => (wrapper: React.ReactElement<any>) => React.ReactElement<any>;
Хок, который позволяет обернуть любые компоненты, получить данные из DI
и передать результат с зависимостями в props компонента
import React from 'react';
import { withDi } from '@tramvai/react';
@withDi({ logger: LOGGER_TOKEN })
class BoxyPage extends Component {
render() {
this.props.logger.info('text');
return <div>Component</div>;
}
}
type useDiContainer = () => DI.Container;
Получение инстанса DI контейнера который был добавлен в контекст приложения.
Лучше не пользоваться этим hook, так как он сильно низкоуровневый и предназначен для разработки новых hook
Для обработки ошибок при рендере в React используются Error Boundary. Этот пакет предоставляет свою версию Error Boundary которая залогирует ошибку через общий логгер и отобразит заглушку для обернутого компонента если произошла ошибка.
Error Boundary компонент, который следит за ошибками ниже по дереву и в случае возникшей ошибки рендера залогирует ошибку и отобразит компонент fallbackComponent
(передается как пропс, по дефолту это FallbackError из этого пакета) вместо упавшего поддерева рендера.
Можно переопределить fallbackComponent
через провайдер ERROR_BOUNDARY_FALLBACK_COMPONENT_TOKEN
.
Компонент используемый по умолчанию как заглушка для поддерева в котором призошла ошибка рендера
Хок оборачивающий компонент в ErrorBoundary.
Для динамического импорта компонентов с поддержкой SSR, существует high order компонент lazy
:
import { lazy } from '@tramvai/react';
const LazyComponent = lazy(() => import('./components/foo'), {
loading: <div>Загрузка...</div>,
});
<LazyComponent />;
FAQs
--- title: '@tramvai/react' sidebar_position: 2 ---
The npm package @tramvai/react receives a total of 1,578 weekly downloads. As such, @tramvai/react popularity was classified as popular.
We found that @tramvai/react demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.