3
나는 을 포함하고 있습니다. 버튼을 클릭하면 AboutUs.js
을 표시하고 싶습니다. HomePage.js
이 올바르게 표시되지만 버튼을 클릭하면 다음 오류가 표시됩니다. this.props.onPress는 기능이 아닙니다. 제가 재사용 컴포넌트 Button.js
가 그런this.props.onPress는 함수가 아닙니다.
import React, { Component } from 'react';
import { StackNavigator } from 'react-navigation';
import HomePage from './HomePage';
import AboutUs from './AboutUs';
const App = StackNavigator({
HomePage: {
screen: HomePage,
navigationOptions: {
header:() => null
}
},
AboutUs: {
screen: AboutUs,
navigationOptions: {
header:() => null
}
}
});
export default App;
App.js
이
('this.props.onPress (E)'에 'this.props.onPress'은 개체의 인스턴스)
import React from 'react';
import { Text, TouchableOpacity } from 'react-native';
const Button = ({ onPress, children }) => {
return (
<TouchableOpacity onPress={onPress}>
<Text>{children}</Text>
</TouchableOpacity>
);
};
export { Button };
HomePage.js
Button 구성 요소를 렌더링합니다. 내가 그것을 누를 때 나는 당신이 대신 기능 심판 내부 { name: 'About Us' }
을 혼합처럼
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import { Button } from './Button.js';
import AboutUs from './AboutUs';
class HomePage extends Component{
render() {
const { navigate } = this.props.navigation;
return(
<View>
<Button
onPress={() => navigate('AboutUs'), { name: 'About Us' }}
>About Us</Button>
</View>
)
}
}
export default HomePage;
AboutUs.js
import React, { Component } from 'react';
import { Text, View } from 'react-native';
class AboutUs extends Component {
render() {
return (
<View>
<Text>About us!</Text>
</View>
);
}
}
export default AboutUs;
당신은 무엇을 보내려고합니까 여기? ', {name :'About Us '} 부분이 불필요한 것 같습니다 – sventschui
이것은 유효한 함수 참조가 아닙니다'onPress = {(AboutUs'), {name : 'About Us'}} {name : 'About Us'}는 {title : navigation.state}에서 참조됩니다. {name : 'About Us'}, {name : 'About Us'}} ' –
{name :'About Us '}는 페이지의 헤더 일 것입니다. .params.name' 오류는 'this.props.onPress (e)'에서 'this.props.onPress'가 Object'의 인스턴스라고 더합니다. –