kontextus
A kontextus a React nem dokumentált funkciója. Szólok arról, hogyan működik a v0.13.ban
környezet
Íme egy példa a kontextusra. Amikor elviszem a fiamat a nagyszüleihez, emlékeztetem őt:
A nagymama utálja a „szar” szót. Vigyázz, ne mondd ki.
Van egy kontextus, amelyben a fiam a környezetének megfelelőbb nyelvezetet használ. Ez a kontextus a nagymama háza. Azt mondja, hogy "basz?" Aha. A nagymama házában mondja? Dehogy.
Figyelem
Van egy csomó olyan eset, amikor a kontextus érvényes. Ahol nincs, az az, hogy ne kelljen gépelnie... — Sebastian Markbåge a React.js Conf 2014-ben
kontextus felhasználásával, ma
A kontextus három részből áll: getChildContextéschildContextTypes,a kezdeményező összetevőn, és contextTypes az utódkomponenseken.
getChildContext
A kontextust kezdeményező összetevőben implementálja a getChildContext parancsot:
class Chan extends React.Component { getChildContext() { return { environment: "grandma's house" } } }
gyermekContextTypes
A childContextTypes segítségével beállíthatja a kontextustípust az érdeklődő gyermekek számára.
Chan.childContextTypes = { environment: React.PropTypes.string };
kontextustípusok
Most gyermekeink megfigyelhetik ezt az összefüggést, és ennek megfelelően viselkedhetnek.
class ChildChan extends React.Component { render() { if (this.context.environment === "grandma's house") { return <span>poop</span>; } return <strong>shit</strong>; } } ChildChan.contextTypes = { environment: React.PropTypes.string };
Ne használjon kontextust
Általános szabály, hogy ne nyúljon a kontextushoz. Nem nagyon használom a szövegkörnyezetet. Médialekérdezésekhez és railsEnv-hez használtam.
Legtöbbször kellékeket kell használnia.
Szeretek a kontextusra gondolni, ahogyan a médialekérdezésekre gondolok. Az alkalmazásomnak kontextus nélkül megfelelően kell futnia. De a kontextus felhasználható megfelelőbb élmény biztosítására – „kaki” vs. „szar”.
Folytasd, nebulók.
További olvasmány: kontextusegység-tesztek
Meg kell jegyezni, hogy a könyvtár kódja teljesen más dolog. Ha Ön könyvtáríró, a kontextus jó módja lehet a könyvtári adatok komponensek közötti kommunikálásának anélkül, hogy a végfejlesztőket megterhelné.