मैं प्रतिक्रिया का उपयोग करके एक साधारण ऐप बनाने की कोशिश कर रहा हूं जिसमें दो घटक हैं, एक दूसरे में एम्बेडेड है। बाल घटक एक अनुबंधित मेनू है और जब इसे क्लिक किया जाता है, तो यह फैलता है। जब माता-पिता तत्व पर क्लिक किया जाता है, या जब बच्चा तत्व फोकस खो देता है तो मैं इसे फिर से अनुबंध करने में सक्षम होना चाहता हूं।एक अलग घटक की स्थिति बदलना - ReactJS
import React from 'react';
var div = React.createFactory('div');
var MenuBar = React.createClass({
getInitialState: function() {
return ({menuIsShowing: false});
}
showMenu: function() {
return this.setState({menuIsShowing: true});
},
render: function() {
var isShowing = this.state.menuIsShowing ? 'menuSlideDown' : '';
return div({ className: 'menu-bar ' + isShowing, onClick: this.showMenu });
}
});
export default MenuBar;
मैं में ऐसा करने का सही तरीका को लेकर अनिश्चित हूं प्रतिक्रिया और होगा:
import React from 'react';
import MenuBar from './_components/MenuBar.js';
var div = React.createFactory('div');
var menu = React.createFactory(MenuBar);
var HomeComponent = React.createClass({
render: function() {
return div({ className: 'page home current', onClick: changeChildState //change the state of the child component to false },
menu()
)
}
});
export default HomeComponent;
यह बच्चा घटक दिखता है की तरह है:
यह वही है माता पिता घटक लगता है कि है कुछ इनपुट प्यार करो।
इस कोड को मैं लागू करने के लिए प्रयास करने के बाद में किसी त्रुटि के रूप में "changeChildOpenStatus परिभाषित नहीं है"। इसके अलावा आप मेनू घटक में कुछ भी नहीं पारित कर रहे हैं - क्या यह जानबूझकर है? –
हाँ, एक टाइपो, माफ करना, मेनू में सबकुछ पास करना चाहिए, – IcyBright
अपडेट किया जाएगा ठीक है, माता-पिता को अपने राज्य और कॉलबैक को बच्चे को माता-पिता के राज्य को अपडेट करने की आवश्यकता है। – IcyBright