@Ostic
Программист - любитель

Как не переопределять значение Context (React)?

Здравствуйте.
context.js
export const ctx = {
  a: 1
}

app.js
import React, {Provider} from 'react';
import {ctx} from './context';

const CTX = React.createContext(ctx);
function App() {
  return (
    <CTX.Provider value={ctx}>
       <MyComponent />
    </CTX.Provider>
  );
}

можно ли второй раз, те непосредственно в
<CTX.Provider value={ctx}>
       <MyComponent />
    </CTX.Provider>

не указывать ctx, а использовать тот, с которым контекст был создан, а то получается указывать одно и то же дважды
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вариант 1:
const CTX = React.createContext();

const App = () => (
  <CTX.Provider value={ctx}>
    <MyComponent />
  </CTX.Provider>
);


Но этот вариант не будет удобен если вы собираетесь тестировать компоненты использующие контекст.

Вариант 2:
const CTX = React.createContext(ctx);

const App = () => (
  <MyComponent />
);


Но этот вариант не будет удобен когда надо изменять значение контекста.

Поэтому, если собираетесь писать тесты, лучше передавать значение дважды, одно для тестов и одно для работы приложения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект