Uh oh!
There was an error while loading. Please reload this page.
Translation for Hooks / useContext - #878
Conversation
titovmx
left a comment
There was a problem hiding this comment.
привет! отличная работа! оставил несколько комментариев, что думаете?
Uh oh!
There was an error while loading. Please reload this page.
| #### Возвращаемое значение {/*returns*/} | ||
| #### Returns {/*returns*/} | ||
| `useContext` возвращает значение контекста для вызывающего компонента. Оно определяется как `value`, переданное ближайшему `SomeContext.Provider` выше по дереву, чем вызывающий компонент. Если такого источника нет, то вернётся `defaultValue`, который вы передали в [`createContext`](/reference/react/createContext) для этого контекста. Возвращаемое значение всегда актуально. React автоматически повторно рендерит компоненты, которые считывают определённый контекст, при его изменении. |
There was a problem hiding this comment.
| `useContext` возвращает значение контекста для вызывающего компонента. Оно определяется как `value`, переданное ближайшему `SomeContext.Provider` выше по дереву, чем вызывающий компонент. Если такого источника нет, то вернётся `defaultValue`, который вы передали в [`createContext`](/reference/react/createContext) для этого контекста. Возвращаемое значение всегда актуально. React автоматически повторно рендерит компоненты, которые считывают определённый контекст, при его изменении. | |
| #### Возвращаемое значение {/*returns*/} | |
| `useContext` возвращает значение контекста для вызывающего компонента. Оно определяется как `value`, переданное ближайшему `SomeContext.Provider` выше по дереву, чем вызывающий компонент. Если такого источника нет, то вернётся `defaultValue`, который вы передали в [`createContext`](/reference/react/createContext) для этого контекста. Возвращаемое значение всегда актуально. React автоматически повторно рендерит компоненты, которые считывают определённый контекст, когда он меняется. |
There was a problem hiding this comment.
С изменением в конце согласен, а вот "по дереву, ближайшему к вызывающему компоненту" не очень звучит, может, есть другие предложения?
There was a problem hiding this comment.
Согласен, получилось не очень.
Может что-то вроде "React идёт вверх по дереву, берёт ближайший к вызывающему компоненту SomeContext.Provider и возвращает переданное ему value". Или оставить исходное - поправил коммент, если решите остановиться на том варианте, но мне показалось перечисление условий в таком виде тяжеловатым для восприятия.
There was a problem hiding this comment.
Да, наверное лучше полностью структуру предложения перелопатить, норм вариант, нужно подумать еще
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
Co-authored-by: Maxim <mtitov92@gmail.com>
| * `useContext()` call in a component is not affected by providers returned from the *same* component. The corresponding `<Context.Provider>` **needs to be *above*** the component doing the `useContext()` call. | ||
| * React **automatically re-renders** all the children that use a particular context starting from the provider that receives a different `value`. The previous and the next values are compared with the [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is) comparison. Skipping re-renders with [`memo`](/reference/react/memo) does not prevent the children receiving fresh context values. | ||
| * If your build system produces duplicates modules in the output (which can happen with symlinks), this can break context. Passing something via context only works if `SomeContext` that you use to provide context and `SomeContext` that you use to read it are ***exactly* the same object**, as determined by a `===` comparison. | ||
| * Вызов `useContext()` из компонента не будет затронут источниками, возвращёнными из *того же* компонента. Соответствующий `<Context.Provider>` **обязан быть *выше по дереву***, чем компонент, который вызывает `useContext()`. |
There was a problem hiding this comment.
пожалуйста убедитесь, что нет лишних переносов строк. чтобы не было проблем при ребейзе
There was a problem hiding this comment.
все проверил, пофиксил то, что нашел
dimatitov
commented
May 12, 2025
@hellcattc Привет! Есть ли планы вернуться к этому ПРу? Обратил внимание, что есть конфликты, которые нужно порезолвить. Если нужно, могу помочь с правками или доработать его |
No description provided.