React Nativeプロジェクトで作業していて、React NativeがReact flow(親から子へ)の小道具の更新を破っているようです。React Nativeが子コンポーネントの小道具を更新しない
基本的には、「App」コンポーネントから「Menu」コンポーネントを呼び出し、「Menu」に小道具を渡します。しかし、「App」状態を更新すると、「Menu」の小道具が更新されますが、これは起こりません。私は何か間違っているのですか?私のコードです
:
App.js
import React from 'react';
import {
View,
Text
} from 'react-native';
import Menu from './Menu';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
opacity: 2
}
}
componentDidMount() {
setTimeout(() => {
this.setState({
opacity: 4
});
}, 3000);
}
render() {
return(
<View>
<Menu propOpacity={this.state.opacity} />
</View>
);
}
}
export default App;
Menu.js
import React from 'react';
import {
View,
Text
} from 'react-native';
class Menu extends React.Component {
constructor(props) {
super(props);
this.state = {
menuOpacity: props.propOpacity
}
}
render() {
return(
<View>
<Text>Menu opacity: {this.state.menuOpacity}</Text>
</View>
);
}
}
Menu.propTypes = {
propOpacity: React.PropTypes.number
}
Menu.defaultProps = {
propOpacity: 1
}
export default Menu;
あなたはどこか別の場所にそうピーズ更新、didmount内の状態を設定することはできません。 – Codesingh
@コード化はい、 'cDM'メソッドから状態を設定できます。 'render'メソッドからはそうすることはできません。 – Andreyco