reactjs / tr.reactjs.org Goto Github PK
View Code? Open in Web Editor NEWReact documentation website in Turkish
Home Page: https://tr.react.dev
License: Creative Commons Attribution 4.0 International
React documentation website in Turkish
Home Page: https://tr.react.dev
License: Creative Commons Attribution 4.0 International
I am using memo
both on outer component as well as on each of the tab components.
Here is my CommonContainer.tsx
:
import { Card, Divider, Grid, Spinner, Tabs, Text } from '@geist-ui/core'
import { memo, useCallback, useState } from 'react'
function CommonContainer(props: Props) {
return (
<Card width="100%">
<Card.Content>
<Tabs value="p1">
<Tabs.Item label="P2" value="p2">
<div >
<P2QueryTab meta={props.metaList[0]} question={props.question}/>
</div>
</Tabs.Item>
<Tabs.Item label="P1" value="p1">
<div >
<P1QueryTab meta={props.metaList[0]} question={props.question}/>
</div>
</Tabs.Item>
</Tabs>
</Card.Content>
</Card>
)
}
export default memo(CommonContainer)
Here is my P2QueryTab.tsx
:
import { memo, useEffect, useCallback, useState } from 'react'
import Browser from 'webextension-polyfill'
function P2QueryTab(props: Props) {
const [answer, setAnswer] = useState<Answer | null>(null)
useEffect(() => {
const port = Browser.runtime.connect()
const listener = (msg: any) => {
if (msg.text) {
setAnswer(msg)
}
}
port.onMessage.addListener(listener)
//This postMessage in turn will call external API to get data
port.postMessage({ question: props.meta + ' ' + props.question, displayTab: "Insights" })
return () => {
port.onMessage.removeListener(listener)
port.disconnect()
}
}, [props.question])
if (answer) {
return (
<div id="answer" dir="auto">
{answer.text}
</div>
)
}
return <p className="animate-pulse">Waiting for P2...</p>
}
export default memo(P2QueryTab)
Here is my P1QueryTab.tsx
:
import { memo, useEffect, useCallback, useState } from 'react'
import Browser from 'webextension-polyfill'
function P1QueryTab(props: Props) {
const [answer, setAnswer] = useState<Answer | null>(null)
useEffect(() => {
const port = Browser.runtime.connect()
const listener = (msg: any) => {
if (msg.text) {
setAnswer(msg)
}
}
port.onMessage.addListener(listener)
//This postMessage in turn will call external API to get data
port.postMessage({
question: props.meta + ' ' + props.question
})
return () => {
port.onMessage.removeListener(listener)
port.disconnect()
}
}, [props.question])
if (answer) {
return (
<div id="answer" dir="auto">
{answer.text}
</div>
)
}
return <p className="animate-pulse">Waiting for P1...</p>
}
export default memo(P1QueryTab)
I have gone through this and this and this and this but still my problem is unsolved.
meta
and question
which are guaranteed to be same as i visited a tab las time around.memo
and does the css trick explicitly himself. Not sure his Typography
component uses any memorisation at all. But before going that route I need to understand why don't memo
work in my case, why isn't the custom comparator even getting called.Bir Bakışta Hook'lar bölümünde Effect terimi orjinal haliyle bırakılmışken, Effect Hook'unu Kullanmak bölümünde kimi yerde etki
kimi yerde de efekt olarak çevrilmiş. Hangi terimin kullanılması gerektiğine karar verilmesinin yararlı olacağını düşünüyorum.
Yeni React site react.dev oldu ama bu hala eski .org olana gönderiyor. Bunu tr.react.dev olarak yapmak gerekmiyor mu?
Çeviri yapma süreci üç adımda gerçekleştirilir:
Kontrol listesinde kimsenin işaretlemediği bölümleri seçiniz. Altındaki yorumları kontrol ederek emin olunuz. İpucu: CTRL+F
ile istediğiniz bölümle ilgili arama yaparak kontrol edebilirsiniz.
Hangi sayfayı çevireceğinizi yorum kısmına yazınız. Lütfen bir seferde birden fazla sayfa almayınız!
Projeyi yerel makinenize clone'layınız. Sayfayı çevirdiğinizde commit ederek, pull request gönderiniz.
Commit mesajlarini ingilizce yaziniz.
Commit mesajlarinda gecmis zaman formu kullanmayiniz. translated tutorial page
yerine translate tutorial page
. ya da fixed a typo in docs
yerine fix a typo in docs
.
Tercüme etmeden önce, çeviri kurallarını mutlaka okuyunuz.
İlgili tartışmalara dahil olmak için Slack #tr kanalına katılın.
To translate a page:
Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:
[x] Home Page (@tesseralis) #12345
When PRs are merged, make sure to mark that page as completed!
To do before releasing as an "official" translation. Please translate these pages first.
Note that each section has an index page, which needs to be translated too.
Quick Start (@serkanisyapan) #528
Installation (@yunusemredilber) 373161e
Describing the UI (@TolgaYuceel) #530
Adding Interactivity (@serkanisyapan) #511
Managing State (@serkanisyapan) 5ba09bc
Escape Hatches (@serkanisyapan)
react
: Hooks (@alioguzhan) #504
useCallback
(@baspinarenes) #470useContext
(@osmandlsmn) #423useDebugValue
(@buraksakalli) #454useDeferredValue
(@baspinarenes) #462useEffect
(@serkanisyapan) #471useId
(@baspinarenes) #415useImperativeHandle
(@buraksakalli) #456useInsertionEffect
(@enesakkose) #459useLayoutEffect
(@baspinarenes) #420useMemo
(@iefendiev) #451useReducer
(@buraksakalli) #428useRef
(@coskuncakir) #407useState
(@serkanisyapan) #508useSyncExternalStore
(@baspinarenes) #452useTransition
(@halilatilla) #450 react
: Components
<Fragment> (<>)
(@K2adir) #419<Profiler>
(@agmmnn) #431<StrictMode>
(@hasancankucuk) #482<Suspense>
(@andyanday33) #440 react
: APIs (@baspinarenes) #453
createContext
(@halilatilla) #409forwardRef
(@halilatilla) #427lazy
(@baspinarenes) #422memo
(@baspinarenes) #436startTransition
(@halilatilla) #442 react-dom
: Components (@agmmnn) #430
<div>
) (@itsba2) #519<input>
(@hasancankucuk) #481<option>
(@K2adir) #435<progress>
(@agmmnn) #429<select>
(@serkanisyapan) #466<textarea>
(@hasancankucuk) #479 react-dom
: APIs (@agmmnn) #431
createPortal
(@arif-ozberk) #483flushSync
(@K2adir) #448findDOMNode
(@enesthedev) #496hydrate
(@ctnkaan)render
(@buraksakalli) #465unmountComponentAtNode
(@ctnkaan) #536 react-dom/client
: Client APIs (@altankurt) #424
createRoot
(@alpererdogan8) #523hydrateRoot
react-dom/server
: Server APIs (@andyanday33) #439
renderToNodeStream
renderToPipeableStream
(@hasancankucuk) #487renderToReadableStream
renderToStaticMarkup
renderToStaticNodeStream
(@arif-ozberk) #473renderToString
(@arif-ozberk) #480We suggest to leave most of the UI translation until the end. We plan to do some invasive changes to the website folder layout and components, so postponing this until your translation is almost complete would make it easier to merge the changes from our side later. It might make sense to translate the homepage above the fold early, but leave the rest for later. As individual pages get translated, you can change the page titles in the corresponding sidebar files. Finally, when you're translating the navigation, make sure to test both desktop and mobile layouts.
HomeContent.js
) (@turkerdev) #404src/sidebar*.json
)TopNav.tsx
) (@alioguzhan) #504After everything above is translated, add your language to deployedLanguages
in Seo.tsx
of the original reactjs/react.dev repository.
These API pages should ideally be translated too, but they're less urgent and can be done after the others:
Children
cloneElement
Component
createElement
createFactory
createRef
isValidElement
PureComponent
These aren't the main translation targets, but if you'd like to do them, feel free to expand the list to include their subpages:
Çeviri yapma süreci üç adımda gerçekleştirilir:
Kontrol listesinde kimsenin işaretlemediği bölümleri seçiniz. Altındaki yorumları kontrol ederek emin olunuz. İpucu: CTRL+F
ile istediğiniz bölümle ilgili arama yaparak kontrol edebilirsiniz.
Hangi sayfayı çevireceğinizi yorum kısmına yazınız. Lütfen bir seferde birden fazla sayfa almayınız!
Projeyi yerel makinenize clone'layınız. Sayfayı çevirdiğinizde commit ederek, pull request gönderiniz.
Commit mesajlarini ingilizce yaziniz.
Commit mesajlarinda gecmis zaman formu kullanmayiniz. translated tutorial page
yerine translate tutorial page
. ya da fixed a typo in docs
yerine fix a typo in docs
.
Tercüme etmeden önce, çeviri kurallarını mutlaka okuyunuz.
İlgili tartışmalara dahil olmak için Slack #tr kanalına katılın.
To translate a page:
Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:
When PRs are merged, make sure to mark that page as completed!
To do before releasing as an "official" translation. Please translate these pages first.
These are the navigation links that appear in the sidebar. Possibly wait until
the corresponding sections are translated to do these.
These are the next most important translations, ordered by importance:
content/docs/release-channels.md
(@eminaydin) #211Everyone is hooked on hooks! People are really excited for these and it would be great for them to be translated.
content/docs/concurrent-mode-adoption.md
(@aakay) (#202)content/docs/concurrent-mode-intro.md
(@ataberkgrl ) (#253)content/docs/concurrent-mode-patterns.md
content/docs/concurrent-mode-reference.md
(@ahmett) (#210)content/docs/concurrent-mode-suspense.md
These are the pages that you get when you click the links in the console (e.g. https://reactjs.org/warnings/dont-call-proptypes.html). People tend to search these, so please don't translate the error message itself.
Priority: Low
Components in src/components
that have some text in them.
These are not the primary translation targets.
Congrats on almost finishing the translation of the Turkish docs! There are just a couple more things we need to do before we can mark the core pages as complete!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.