我在项目中创建此共享组件时遇到问题。 这是其代码的简化版本:
import React from 'react';
import { View } from 'react-native';
import { connect } from 'react-redux';
function mapStateToProps(state) {
return {
platform: state.device.get('platform') //defines if iOS or Android
};
}
export function SharedView({ theme, ...props }) {
return <View {...props}>{theme}</View>;
}
export default SharedView(
connect(mapStateToProps, null)
);
当我尝试在console.log
内添加alert
或mapStateToProps
时,我什么都没得到,似乎我无法从SharedView
看到它。我知道我可以将它改写为SharedView extends Component { ...
课,但出于某些原因我需要保留格式。
任何想法如何获得这种全球状态值?
答案 0 :(得分:2)
connect
是一个更高阶的函数 - 你的组件应该包含在其中,而不是相反。
export default connect(mapStateToProps)(SharedView);