В настоящее время я создаю приложение response-redux, и когда я нажимаю кнопку «Сохранить», приложение должно вызывать функцию addToSaved в действиях/index.js. Тем не менее, я получаю сообщение об ошибке «this.props.addToSaved is undefined», а не функция. Я определяю функцию в actions/index.js, но мне интересно, не хватает ли я чего-то другого. Вот то, что я в данный момент делаю:this.props.function() не определено в приложении React?
в компоненты/MainView.js:
'use strict';
import { addToSaved } from "../actions"
var React = require('react-native');
var {
StyleSheet,
Image,
View,
Text,
Component,
TouchableHighlight
} = React;
class MainView extends Component {
onSearchPressed() {
console.log('search pressed');
this.props.addToSaved();
}
render() {
return (
<View style={styles.container}>
<Image style={styles.image}
source={{uri: pic.img_url}} />
<TouchableHighlight style = {styles.button}
onPress={this.onSearchPressed.bind(this)}
underlayColor='#99d9f4'>
<Text style = {styles.buttonText}>Save</Text>
</TouchableHighlight>
</View>
);
}
}
module.exports = MainView;
в действиях/index.js:
var actions = exports = module.exports
exports.ADD_SAVED = 'ADD_SAVED'
exports.addToSaved = function addToSaved() {
console.log('got to ADD_SAVED');
}
КАЖЕТСЯ вопрос, а также при объявлении компонента с реквизитом убедитесь, что вы добавили проп проверка HTTP : //facebook.github.io/react/docs/reusable-components.html#default-prop-values –
@bchemy, поэтому я должен все же импортировать addToSaved, но также добавить эту строку в класс MainView? – user3802348
Вам не нужно импортировать 'addToSaved' в' MainView.js', но вам нужно импортировать его в любой файл, создавая «MainView» (то есть через '') и добавьте эту строку , –
bcherny