Biri diğerine gömülü iki bileşene sahip bir tepki kullanarak basit bir uygulama oluşturmaya çalışıyorum. Alt bileşen sözleşmeli menüdür ve tıklandığında genişler. Ana öğe tıklandığında veya çocuk öğesi odağı kaybettiğinde yeniden sözleşme yapabilmek istiyorum. Ben de bunu yapmanın doğru yolu emin değilim tepki ve olurFarklı bir bileşenin değiştirme durumu - 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;
Bu gibi çocuk bileşen görünür:
Bu
ana bileşeni neye benzediği bazı girdileri seviyorum.
bir hata olarak "changeChildOpenStatus tanımlı değil". Ayrıca menü bileşenine hiçbir şey iletmiyorsunuz - bu kasıtlı mı? –
Evet, bir yazım hatası, özür dilerim, her şeyi menüye iletmelidir, – IcyBright
tamamlandı güncellenir, Ebeveynin durumunu ve çocuğunuzun ana durumunu güncellemek için geri aramayı iletmesi gerekir. – IcyBright