【发布时间】:2019-11-21 06:28:37
【问题描述】:
我是 React 新手,我有以下代码:
class MyCoolComponent extends React.Component {
render() {
return (
<QueryRenderer
environment={environment}
query={graphql`
query UserQuery {
viewer {
id
}
}
`}
variables={{}}
render={({error, props}) => {
if (error) {
return <div>Error!</div>;
}
if (!props) {
return <div>Loading...</div>;
}
return <div>User ID: {props.viewer.id}</div>;
}}
/>
);
}
}
我想将此 React 组件用作 enhancer 到不同的 React 组件,以使用 compose(addDataEnhancer, ...) 将数据 (props.viewer.id) 传递给另一个高阶组件(这样它会可以使用props.viewer.id)。我该怎么做?
上下文:想法是在这里使用这个MyCoolComponent作为数据源函数的替代品:
export default compose(
// data source
graphql(gql`query MyQuery1 { ... }`),
)(MyHOCComponent);
function MyHOCComponent({ data }) {
console.log(data);
}
【问题讨论】: