GitHubãªããžããªã§ã¿ã¹ã¯ãäœæããŠãåé¡ãããå Žåã¯ãç¥ãããã ãã
èšçœ®
npmã§Reactã䜿çšããbrowserifyãwebpackãªã©ã®ãŠãŒãã£ãªãã£ã䜿çšããŠã³ãŒãã1ã€ã®ããã±ãŒãžã«ã³ã³ãã€ã«ããããšããå§ãããŸãã
npm install --save react@0.14.0-rc1 npm install --save react-dom@0.14.0-rc1
ããã©ã«ãã§ã¯ãéçºã¢ãŒãã§ã¯ãReactã¯è¿œå ã®ãã§ãã¯ãèµ·åããæçšãªèŠåãæäŸããããšã«æ³šæããŠãã ããã ãããã£ãŠãã¢ããªã±ãŒã·ã§ã³ããããã€ãããšããå®çšŒåã¢ãŒãã䜿çšããããã«å® 皌åç°å¢ã§NODE_ENVç°å¢å€æ°ãèšå®ããŸãããã®ã¢ãŒãã§ã¯ãReactã¯ãµãŒãã¹èŠåãå«ãŸããã¯ããã«é«éã«åäœããŸãã
npmã䜿çšã§ããªãå Žåã¯ã䟿å©ãªããã«ãã©ãŠã¶çšã«ã³ã³ãã€ã«ããããã«ããæäŸããŸãã
- åå¿ãã
èŠåä»ãã®éçºãã«ãïŒ https : //fb.me/react-0.14.0-rc1.js
çž®å°ããã補åã¢ã»ã³ããªïŒ https : //fb.me/react-0.14.0-rc1.min.js - ã¢ããªã³ãšåå¿ãã
èŠåä»ãã®éçºãã«ãïŒ https : //fb.me/react-with-addons-0.14.0-rc1.js
èŠåä»ãã®éçºãã«ãïŒ https : //fb.me/react-with-addons-0.14.0-rc1.min.js - React DOM ïŒ React DOMã®åã«Reactãæ¥ç¶ããŸãïŒ
èŠåä»ãã®éçºãã«ãïŒ https : //fb.me/react-dom-0.14.0-rc1.js
èŠåä»ãã®éçºãã«ãïŒ https : //fb.me/react-dom-0.14.0-rc1.min.js
ãããã®ã¢ã»ã³ããªã¯ãããŠã¢ãŒããã±ãŒãžãšããŠãå©çšã§ããŸãïŒ reactããã³react-dom
倧ããªå€æŽ
2ã€ã®ããã±ãŒãžïŒReactããã³React DOM
react-native ã react-art ã react-canvasã react-threeãªã©ã®ã¢ãžã¥ãŒã«ãèŠããšãReactã®çŸãããšæ¬è³ªã¯ãã©ãŠã¶ãŒãDOMãšã¯äœã®é¢ä¿ããªãããšãæããã«ãªããŸãã
ãããReactãã¬ã³ããªã³ã°ã§ããããå€ãã®ç°å¢ã§ããéæã§äœ¿ããããããããã«ãã¡ã€ã³ã®reactããã±ãŒãžã2ã€ã«åå²ããŸãïŒ reactãšreact-dom ã
ããã¯ãWebããŒãžã§ã³ã®Reactããã³React Nativeã§å ±æã§ããã³ã³ããŒãã³ããäœæããæ¹æ³ãæäŸããŸãã ã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ã³ãŒããå ±æããå¿ èŠã¯ãããŸããããç°ãªããã©ãããã©ãŒã ã§åãããã«åäœããã³ã³ããŒãã³ããå ±æã§ããããã«ããããšèããŠããŸãã
reactããã±ãŒãžã«ã¯ã React.createElement ã .createClass ã .Component ã .PropTypes ã .Children ãããã³èŠçŽ ãšã³ã³ããŒãã³ãã¯ã©ã¹ã«çŠç¹ãåœãŠããã®ä»ã®ãã«ããŒãå«ãŸããŠããŸãã ã³ã³ããŒãã³ããæ§ç¯ããããã«å¿ èŠãªååãŸãã¯æ±çšãã«ããŒãšèããŠããŸãã
react-domããã±ãŒãžã«ã¯ã ReactDOM.render ã .unmountComponentAtNodeãããã³.findDOMNodeãå«ãŸããŠããŸãã react-dom / serverã§ã¯ã ReactDOMServer.renderToStringããã³.renderToStaticMarkupã䜿çšããŠãµãŒããŒã§ã®ã¬ã³ããªã³ã°ããµããŒãããŠããŸãã
var React = require('react'); var ReactDOM = require('react-dom');</p> <p>var MyComponent = React.createClass({ render: function() { return <div>Hello World</div>; } }); ReactDOM.render(<MyComponent />, node);
ãã®ç§»è¡ã®ããã«Facebookã§äœ¿çšããèªååãããcodemodã¹ã¯ãªãããå ¬ââéããŸãã
ã¢ããªã³ã¯å¥ã®ããã±ãŒãžã«ç§»åãããŸããïŒ react-addons-clone-with-props ã react-addons-create-fragment ã react-addons-css-transition-group ã react-addons-linked-state-mixin ã react-addons-perf ã react-addons-pure-render-mixin ã react-addons-shallow-compare ã react-addons-test-utils ã react-addons-transition-groupããã³react- addons -update ããªãã³ã«ReactDOMã react-domã® unstable_batchedUpdates
ä»ã®ãšãããããŒãžã§ã³ç®¡çã®åé¡ãé²ãããã«ãã¢ããªã±ãŒã·ã§ã³ã§reactããã³react-domã®ç¹å®ã®ããŒãžã§ã³ã䜿çšããŠãã ããã
DOMããŒããžã®ãªã³ã¯
ãã®ãªãªãŒã¹ã§è¡ã£ãå¥ã®éèŠãªå€æŽã¯ãDOMã³ã³ããŒãã³ããžã®åç §ãDOMããŒãèªäœãåç §ããããã«ãªã£ãããšã§ãã
ãããäœãæå³ããã®ãïŒReact DOMã³ã³ããŒãã³ããžã®ïŒrefïŒãªã³ã¯ã§äœãããŠããã®ããèŠãŠãããã§ã§ããå¯äžã®äŸ¿å©ãªããšã¯this.refs.giraffe.getDOMNodeïŒïŒãåŒã³åºããŠDOMãååŸããããšã ãšããããŸããããŒãã ãã®ãªãªãŒã¹ã§ã¯ã this.refs.giraffe ãçŸåšã®DOMããŒãã§ãã
ã«ã¹ã¿ã ïŒãŠãŒã¶ãŒå®çŸ©ïŒã³ã³ããŒãã³ããžã®ãªã³ã¯ã¯ä»¥åãšåãããã«æ©èœããããšã«æ³šæããŠãã ããã ãã€ãã£ãDOMã³ã³ããŒãã³ãã®ã¿ããã®å€æŽã®å¯Ÿè±¡ãšãªããŸãã
var Zoo = React.createClass({ render: function() { return <div>Giraffe name: <input ref="giraffe" /></div>; }, showName: function() { // Previously: var input = this.refs.giraffe.getDOMNode(); var input = this.refs.giraffe; alert(input.value); } });
ãã®å€æŽã¯ãDOMããŒããã«ãŒãã³ã³ããŒãã³ããšããŠæž¡ããšãã®ReactDOM.renderã®æ»ãçµæã«ãé©çšãããŸãã refãšåæ§ã«ããããã®å€æŽã¯ã«ã¹ã¿ã ã³ã³ããŒãã³ãã«ã¯é©çšãããŸããã ãããã®å€æŽã«ããããµããŒããããŠããªã.getDOMNodeïŒïŒã¡ãœããã宣èšãã ReactDOM.findDOMNodeã¡ãœããã«çœ®ãæããŸãïŒä»¥äžãåç §ïŒã
æããªã³ã³ããŒãã³ã
Reactåºæã®ã³ãŒãã§ã¯ãèšè¿°ããã³ã³ããŒãã³ãã®ã»ãšãã©ã«ç¬èªã®ç¶æ ãæãããªãã§ãã ããã ã¹ããŒãã¬ã¹ã ãã®ãããªã³ã³ããŒãã³ãã®æ°ããåçŽãªæ§æãæ瀺ããŸãããã®æ§æã§ã¯ãå°éå ·ãåŒæ°ãšããŠæž¡ããã¬ã³ããªã³ã°ããèŠçŽ ãè¿ãããšãã§ããŸãã
// ES2015 (ES6) : var Aquarium = (props) => { var fish = getFish(props.species); return <Tank>{fish}</Tank>; }; // : var Aquarium = ({species}) => ( <Tank> {getFish(species)} </Tank> ); // : <Aquarium species="rainbowfish" />
ãã®ãã¿ãŒã³ã¯ãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ãæ§æãããããã®åçŽãªã³ã³ããŒãã³ãã®äœæãä¿é²ããããã«èšèšãããŠããŸãã å°æ¥çã«ã¯ããããã®ã³ã³ããŒãã³ãå°çšã«ããã©ãŒãã³ã¹ãæé©åããäžèŠãªãã§ãã¯ãã¡ã¢ãªå²ãåœãŠãåé¿ããããšãã§ããŸãã
React-toolsã¯ãµããŒããããªããªããŸãã
react-toolsããã±ãŒãžãšJSXTransformer.jsã®ãã©ãŠã¶ãŒããŒãžã§ã³ã¯æãŸãããããŸã ã ã ããŒãžã§ã³0.13.3ã§ãåŒãç¶ã䜿çšã§ããŸããããµããŒãããªããªã£ããããReactãšJSXã®çµã¿èŸŒã¿ãµããŒããããBabelã®äœ¿çšã«åãæ¿ããããšããå§ãããŸãã
ã³ã³ãã€ã©ãŒã®æé©å
Reactã¯ãBabel 5.8.23以éã«å«ããããšãã§ãã2ã€ã®ã³ã³ãã€ã©ãŒæé©åããµããŒãããããã«ãªããŸããã ãããã®å€æ㯠ãå®è¡ããã©ãŒãã³ã¹ãæ¹åããŸããããµãŒãã¹èŠåãããé ããpropTypesãå«ãéçºã¢ãŒãã§çºçããéèŠãªãã§ãã¯ãã¹ãããããããããããã®å€æã¯äž¡æ¹ãšãæ¬çªç°å¢ïŒããšãã°çž®å°åïŒã«ã®ã¿å«ããå¿ èŠããããŸãã
ReactèŠçŽ ã®åã蟌ã¿ïŒ optimisation.react.inlineElementsã¯ã React.createElementãåŒã³åºã代ããã«ãJSXèŠçŽ ã{typeïŒ 'div'ãpropsïŒ...}ãªã©ã®ãªããžã§ã¯ãã«å€æããŸãã
ReactèŠçŽ ã®çµ¶ãéãªããæµ®åãïŒ optimisation.react.constantElementsã¯ãèŠçŽ ã®äœæããµãããªãŒã®äžäœã¬ãã«ã«ãäžãããŸããããã¯å®å šã«éçã§ããã React.createElementã®åŒã³åºããšç§»åãæžãããŸãã ããã«éèŠãªããšã¯ããµãããªãŒãå€æŽãããŠããªãããšãReactã«éç¥ãããããReactã¯èª¿æŽæã«ãµãããªãŒãå®å šã«ã¹ãããã§ããŸãã
é倧ãªå€æŽ
ãã€ãã®ããã«ããã®ãªãªãŒã¹ã§ã¯ããã€ãã®éèŠãªå€æŽããããŸãã 倧ããªå€æŽãå ãããã³ã«ãå°ãªããšã1ã€ã®ãªãªãŒã¹ãå«ããŠèŠåããŸãã ã³ãŒããæŽæ°ããæéããããŸãã Facebookã®ã³ãŒãããŒã¹ã¯15,000ãè¶ ããReactã³ã³ããŒãã³ãã§ãããããReactããŒã ã§ã¯ãéèŠãªå€æŽã®åœ±é¿ãæå°éã«æããããåžžã«åªããŠããŸãã
ãããã®3ã€ã®éèŠãªå€æŽã«ãããããŒãžã§ã³0.13ã§èŠåãçæããããããã³ãŒãã«èŠåããªããã°äœãããå¿ èŠã¯ãããŸããã
- propsãªããžã§ã¯ããä¿®æ£ããããããã³ã³ããŒãã³ãäœæåŸã®propsã®å€æŽã¯ãµããŒããããªããªããŸããã ã»ãšãã©ã®å Žåã 代ããã«React.cloneElementã䜿çšããå¿ èŠããããŸãã ãããã®å€æŽã«ãããã³ã³ããŒãã³ããç解ãããããªããäžèšã®ã³ã³ãã€ã«ã®æé©åãå«ãŸããŸãã
- åçŽãªãªããžã§ã¯ãã¯Reactã®åå«ãšããŠãµããŒããããªããªããŸããã代ããã«é åã䜿çšããå¿ èŠããããŸãã ãã€ã°ã¬ãŒã·ã§ã³ã«ã¯createFragmentãã«ããŒã䜿çšã§ããŸããããã«ãããé åãè¿ãããŸãã
- ã¢ããªã³ïŒ classSetã¯åé€ãããŸããã 代ããã«ã¯ã©ã¹åã䜿çšããŠãã ãã
ãããã®2ã€ã®å€æŽã¯0.13ã§ã¯èšºæãããŸããã§ããããç°¡åã«èŠã€ããŠä¿®æ£ã§ããŸãã
- React.initializeTouchEventsã¯äžèŠã«ãªããå®å šã«åé€ã§ããŸãã ã¿ããã€ãã³ããèªåçã«æ©èœããããã«ãªããŸããã
- ã¢ããªã³ïŒäžèšã®ããã«ãDOMããŒããžã®ãªã³ã¯ãå€æŽããããšããäºå®ã«ããã TestUtils.findAllInRenderedTreeãšãã®é¢é£ãã«ããŒã¯ãDOMã³ã³ããŒãã³ãã®åä¿¡ã«ã¯äœ¿çšã§ããªããªããŸããããã«ã¹ã¿ã ã³ã³ããŒãã³ãã®ã¿ã«äœ¿çšã§ããŸãã
æ°ããèŠåã®äŸå€
- åè¿°ã®ããã«ãDOMããŒããžã®åç
§ãå€æŽããããšããäºå®ã«ããã this.getDOMNodeïŒïŒã¯é€å€ããã代ããã«ReactDOM.findDOMNodeïŒthisïŒã䜿çšã§ããŸãã ã»ãšãã©ã®å Žåã findDOMNodeã®åŒã³åºãã¯äžèŠã«ãªã£ãŠããããšã«æ³šæããŠãã ãã-äžèšã®ãDOMããŒããžã®ãªã³ã¯ãã»ã¯ã·ã§ã³ã®äŸãåç
§ããŠãã ããã
倧ããªã³ãŒãããŒã¹ãããå Žåã¯ã èªååãããcodemodã¹ã¯ãªããã䜿çšããŠãã³ãŒããèªåçã«ä¿®æ£ã§ããŸãã - setPropsãšreplacePropsã¯çŸåšçŠæ¢ãããŠããŸãã 代ããã«ãæ°ããããããã䜿çšããŠããããã¬ãã«ã§ReactDOM.renderãå床åŒã³åºããŸãã
- ES6ã³ã³ããŒãã³ãã¯ã©ã¹ã¯ã React.Componentãé©åã«æ¡åŒµããŠãæããªã³ã³ããŒãã³ãããµããŒãããå¿ èŠããããŸãã ES3ã¢ãžã¥ãŒã«ãã³ãã¬ãŒãã¯åŒãç¶ãæ©èœããŸãã
- ã¬ã³ããªã³ã°éã§ãªããžã§ã¯ãã®ã¹ã¿ã€ã«ãåå©çšããã³å€æŽããããšã¯çŠæ¢ãããŠããŸãã ããã¯ç§ãã¡ã®å€åã®æ¬è³ªãåæ ãããªããžã§ã¯ãã®å°éå ·ãåçµããŸãã
- ã¢ããªã³ïŒ cloneWithPropsã¯çŸåšçŠæ¢ãããŠããŸãã 代ããã«React.cloneElementã䜿çšããŸã ïŒ cloneWithPropsãšã¯ç°ãªãã cloneElementã¯classNameãŸãã¯styleãèªåçã«çµåããŸãããå¿ èŠã«å¿ããŠããããæåã§çµåã§ããŸãïŒã
- ã¢ããªã³ïŒä¿¡é Œæ§ãé«ããããã CSSTransitionGroupã¯é·ç§»ã€ãã³ãããªãã¹ã³ããªããªããŸããã 代ããã«ã transitionEnterTimeout = {500}ãªã©ã®ããããã£ã䜿çšããŠãé·ç§»ã®æéãæåã§èšå®ããå¿ èŠããããŸãã
å€§å¹ ãªæ¹å
- ãã¹ããããåå«ã®ãªããžã§ã¯ããåãåãã ååã«ããŒãå²ãåœãŠããããã©ããé åãè¿ãReact.Children.toArrayãè¿œå ãããŸããã ãã®ãã«ããŒã¯ãç¹ã«ã æž¡ãåã«this.props.childrenãåé åžãŸãã¯ååŸããå Žåã ã¬ã³ããŒã¡ãœããã§ã®åã®ã³ã¬ã¯ã·ã§ã³ã®ç®¡çãç°¡çŽ åããŸãã ããã«ã React.Children.mapã¯åçŽãªé åãè¿ãããã«ãªããŸããã
- èŠåã®ããã«ãReactã¯console.warnã®ä»£ããã«console.errorã䜿çšããããã«ãªããŸããã ãã©ãŠã¶ã§ã¯ãã³ã³ãœãŒã«ã«ã¹ã¿ãã¯å šäœã衚瀺ãããŸãã ïŒå°æ¥ã®ããŒãžã§ã³ã§å€æŽããããã³ãã¬ãŒãã䜿çšããå Žåããäºæ³å€ã«åäœããå¯èœæ§ãé«ãã³ãŒãã®å ŽåãèŠåã衚瀺ããããããèŠåã¯ãä¿®æ£ãå¿ èŠãªããšã©ãŒã§ãããšèããããŸããïŒ
- 以åã¯ãä¿¡é ŒãããŠããªããªããžã§ã¯ããReactã®åå«ãšããŠäœ¿çšãããšãXSSã®è匱æ§ãçºçããå¯èœæ§ããããŸãã ã ãã®åé¡ã¯ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ãã°ã€ã³ãæ€èšŒããã¢ããªã±ãŒã·ã§ã³ã³ãŒãå šäœã§ä¿¡é Œã§ããªããªããžã§ã¯ãã䜿çšããªãããšã§ãé©åã«é€å€ããå¿ èŠããããŸãã ä¿è·ã®è¿œå ã¬ã€ã€ãŒãšããŠã React㯠ã Reactãä¿¡é Œã§ããªãJSONãæå¹ãªèŠçŽ ãšèŠãªããªãããã«ãããããµããŒããããã©ãŠã¶ãŒã§ç¹å®ã®ã·ã³ãã«ã¿ã€ãES2015ïŒES6ïŒã§èŠçŽ ãããŒã¯ããããã«ãªããŸããã ãã®è¿œå ã®ã»ãã¥ãªãã£ä¿è·ãéèŠãªå Žåã¯ã Babelã®polyfillãªã©ã®å€ããã©ãŠã¶ã«Symbol polyphileãè¿œå ããå¿ èŠããããŸãã
- å¯èœãªéããReact DOMã¯XHTMLæºæ ã®ããŒã¯ã¢ãããçæããããã«ãªããŸããã
- React DOMã¯ã次ã®æšæºHTMLå±æ§ããµããŒãããããã«ãªããŸããïŒ capture ã challenge ã inputMode ã is ã keyParams ã keyType ã minLength ã summary ã wrap ã ãŸãããããã®éæšæºå±æ§autoSave ã results ã securityããµããŒãããããã«ãªããŸããã
- React DOMã¯ãåå空éå±æ§ã«ã¬ã³ããªã³ã°ã§ãã次ã®SVGå±æ§ããµããŒãããããã«ãªããŸããïŒ xlinkActuate ã xlinkArcrole ã xlinkHref ã xlinkRole ã xlinkShow ã xlinkTitle ã xlinkType ã xmlBase ã xmlLang ã xmlSpace ã
- SVG ç»åã¿ã°ãReact DOMã§ãµããŒããããããã«ãªããŸããã
- React DOMã§ã¯ãã«ã¹ã¿ã èŠçŽ ã§ã«ã¹ã¿ã å±æ§ããµããŒããããŠããŸãïŒã¿ã°åã«ãã€ãã³ãä»ããŠãããã®ããŸãã¯å±æ§ã= "..." ïŒã
- React DOMã¯ã ãªãŒãã£ãªã¿ã°ãšãããªã¿ã°ã§æ¬¡ã®ã¡ãã£ã¢ã€ãã³ãããµããŒãããããã«ãªããŸããïŒ onAbort ã onCanPlay ã onCanPlayThrough ã onDurationChange ã onEmptied ã onEncrypted ã onEnded ã onError ã onLoadedData ã onLoadedMetadata ã onLoadStart ã onPause ã onPlay ã onPlay ã onPlay ã onPlay ã onPlay ã onLay onStalled ã onSuspend ã onTimeUpdate ã onVolumeChange ã onWaiting ã
- å€ãã®å°ããªããã©ãŒãã³ã¹ã®æ¹åãè¡ãããŸããã
- å€ãã®èŠåã¯ã以åãããå€ãã®æ å ±ã衚瀺ããŸãã
- ã¢ããªã³ïŒES6ã¯ã©ã¹ã®PureRenderMixinã®ç§»è¡ãã¹ãšããŠshallowCompareã¢ããªã³ãè¿œå ãããŸããã
- ã¢ããªã³ïŒ CSSTransitionGroupã¯ã -enter-activeãŸãã¯ååé·ç§»ã«äŒŒããã®ãè¿œå ãã代ããã«ã ä»»æã®ã¯ã©ã¹åã䜿çšã§ããããã«ãªããŸããã
æ°ãã圹ç«ã€èŠå
- React DOMã¯ãåã蟌ãŸããHTMLèŠçŽ ãç¡å¹ãªå Žåã«èŠåããããã«ãªããŸãããããã«ãããã¢ããã°ã¬ãŒãäžã®é©ãã¹ããšã©ãŒãåé¿ã§ããŸãã
- document.bodyãReactDOM.renderã®ã³ã³ãããšããŠçŽæ¥æ¥ç¶ãããšãèŠåãçºè¡ãããããã«ãªããŸããã ããã«ãããDOMãå€æŽãããã©ãŠã¶ãŒæ¡åŒµæ©èœã§åé¡ãçºçããå¯èœæ§ããããŸãã
- è€æ°ã®Reactã€ã³ã¹ã¿ã³ã¹ã®å ±æã¯ãµããŒããããŠããªãããããã®ã±ãŒã¹ãçºèŠãããšãã«èŠåã衚瀺ããŠãåé¡ãåé¿ã§ããããã«ããŸããã
éèŠãªä¿®æ£
- ã¢ãã€ã«ãã©ãŠã¶ãç¹ã«Mobile Safariã§ã¯ãã¯ãªãã¯ã€ãã³ããReact DOMã«ãã確å®ã«åŠçãããŸãã
- ã»ãšãã©ã®å ŽåãSVGèŠçŽ ã¯æ£ããåå空éã§äœæãããŸãã
- React DOMã¯ãè€æ°ã®ããã¹ãã®åãæã€<option>èŠçŽ ãæ£ããã¬ã³ããªã³ã°ãããªãã·ã§ã³ãæ£ããéžæãããç¶æ ã§ãµãŒããŒäžã®<select>èŠçŽ ãã¬ã³ããªã³ã°ããããã«ãªããŸããã
- 2ã€ã®å¥åã®Reactã€ã³ã¹ã¿ã³ã¹ãåãããã¥ã¡ã³ãã«ããŒããè¿œå ãããšïŒãã©ãŠã¶ãŒæ¡åŒµæ©èœãReactã䜿çšããå Žåãå«ãïŒãReact DOMã¯é åºã«ã€ãã³ãåŠçäžã«äŸå€ãã¹ããŒããªãããã«è©Šã¿ãŸãã
- React DOMã§å°æå以å€ã®HTMLã¿ã°ïŒããšãã°ã React.createElementïŒ 'DIV'ïŒ ïŒã䜿çšããŠãåé¡ã¯çºçããŸããããJSXã¿ã°ã®åœåèŠåïŒåã蟌ã¿ã³ã³ããŒãã³ãã®å°æåã倧æåã«ã¹ã¿ã ã³ã³ããŒãã³ãçšïŒã
- React DOMã¯ããããã®CSSããããã£ãç¡æ¬¡å ã§ãããå€ã«ãpxããè¿œå ããªãããšãç解ããŠããŸãïŒ animationIterationCount ã boxOrdinalGroup ã flexOrder ã tabSize ã stopOpacity ã
- ã¢ããªã³ïŒãã¹ããŠãŒãã£ãªãã£ã䜿çšããå Žåã Simulate.mouseEnterããã³Simulate.mouseLeaveãæ©èœããããã«ãªããŸãã
- ã¢ããªã³ïŒReactTransitionGroupã¯è€æ°ã®ããŒããæ£ããåŠçããåæã«åé€ããããã«ãªããŸããã
æçš¿è ïŒ ãã³ã»ã¢ã«ããŒã