: create-react-native-app
반작용 기본
를 지금까지 내가 가장 최고 수준의 구성 요소를 말할 수는 App.js 파일 안에 내가 거기 공급자를 가져온 그리고 최상위 구성 요소 주위를 감싸하지만, 난 여전히 몇 가지 이유로 다음과 같은 오류가 점점 오전 : 내가 잘못
ExceptionsManager.js:65 Invariant Violation: Could not find "store" in either the context or props of "Connect(App)". Either wrap the root component in a , or explicitly pass "store" as a prop to "Connect(App)".
을 뭐하는 거지? 인수가
즉 수출 디폴트 (mapStateToProps, mapDispatchToProps) (앱)
당신이 경우 연결로
import React from 'react';
import { StyleSheet, Text, View, FlatList, TextInput, StatusBar, Button,TouchableOpacity } from 'react-native';
import { TabNavigator, StackNavigator } from 'react-navigation';
import { Constants } from 'expo'
import { purple, white } from './utils/colors'
import { saveDeckTitle, getDecks, getDeck, addCardToDeck } from './utils/api'
import { Provider } from 'react-redux'
import { createStore } from 'redux'
import reducer from './reducers'
import { connect } from 'react-redux'
import Decks from './components/Decks'
import NewQuestionView from './components/NewQuestionView'
import NewDeck from './components/NewDeck'
const R = require('ramda')
const store = createStore(reducer)
const DecksETC = StackNavigator({
Decks: {
screen: Decks
},
NewDeck: {
screen: NewDeck
},
NewQuestionView: {
screen: NewQuestionView
}
})
const NewDeckETC = StackNavigator({
NewDeck: {
screen: NewDeck
},
Decks: {
screen: Decks
},
NewQuestionView: {
screen: NewQuestionView
}
})
const Tabs = TabNavigator({
DecksETC: {
screen: DecksETC
},
NewDeckETC: {
screen: NewDeckETC
}
});
class App extends React.Component {
render() {
console.log('R', R)
return (
<Provider store={store}>
<Tabs />
</Provider>
// <Tabs />
);
}
}
const styles = StyleSheet.create({
container: {
paddingTop: 23,
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
input: {
margin: 15,
height: 40,
borderColor: '#7a42f4',
borderWidth: 1
},
});
function mapStateToProps(state) {
console.log('mapStateToProps')
debugger
return {
'sample': 'sample'
}
}
export default connect(mapStateToProps)(App)
감사하지만 그 차이는 없습니다. 나는 아직도 오류가 발생하고있다 : 불변의 위반 : 컨텍스트 또는 "Connect (App)"의 소품에 "store"를 찾을 수 없다.에 루트 구성 요소를 래핑하거나 명시 적으로 "스토어"를 "Connect (App)"의 소품으로 전달하십시오. –
preston
나는 당신이 Provider와 Connect를 동시에 사용하고 있기 때문에 Redux가 hiearchial 패턴을 따르기 때문에 공급자가 처음에 저장소에 패스 한 다음 connect를 사용하여 그것을 사용하므로 에러가 발생한다고 생각한다. 따라서 더 나은 별도의 파일을 생성한다. 사용하려면 –
을 확인하십시오. https://gist.github.com/aurelkurtula/b30064ba59b3c16d1a6b18260fcd7bcc –