【发布时间】:2017-08-15 23:47:51
【问题描述】:
我想在导航变量上显示右键,但没有渲染。 请给我解决方案或一些建议。
错误
ExceptionsManager.js:73 警告:在现有状态转换期间无法更新(例如在
render或其他组件的构造函数中)。渲染方法应该是 props 和 state 的纯函数;构造函数副作用是一种反模式,但可以移至componentWillMount。
环境
"react": "16.0.0-alpha.12",
"react-native": "0.47.1",
"react-native-router-flux": "^4.0.0-beta.17",
"react-native-vector-icons": "^4.3.0"
App.js
import React, { Component } from 'react';
import Router from './Router';
class App extends Component {
render() {
return (
<Router />
)
}
}
export default App;
Router.js
import React, { Component } from 'react';
import { View } from 'react-native'
import { Actions, Scene, Router } from 'react-native-router-flux';
import Icon from 'react-native-vector-icons/Ionicons';
import Home from './components/Home';
import Menu from './components/Menu';
class RouterComponent extends Component {
constructor(){
super()
this.state = {bookIcon: null}
}
componentWillMount(){
Icon.getImageSource('ios-book', 30).then(source =>
this.setState({bookIcon:source}));
}
render(){
return (
<Router>
<Scene key="container">
<Scene
key="home" component={Home}
initial={true}
title={"Home"}
rightButtonImage={this.state.bookIcon}
rightButtonIconStyle={{ width: 30, height: 30 }}
onRight={ () => Actions.Menu() }
/>
<Scene
key="menu"
component={Menu}
title={"Menu"}
/>
</Scene>
</Router>
)
}
};
export default RouterComponent;
- Home.js 和 Menu.js 只显示文本组件
感谢您阅读我的问题。
【问题讨论】:
-
你可以试试这个 rightButtonImage={require('this.state.bookIcon')}
标签: react-native react-native-router-flux