React native 阿波罗一次
我正在研制新冠病毒-19跟踪器,我有个问题。 Apollo中是否有任何选项可以让React在每次按下按钮时获取一次graphql数据 现在我有了文本输入和按钮,但当我获取数据时,我无法在输入中键入其他国家,因为我立即出错React native 阿波罗一次,react-native,react-apollo,apollo-client,React Native,React Apollo,Apollo Client,我正在研制新冠病毒-19跟踪器,我有个问题。 Apollo中是否有任何选项可以让React在每次按下按钮时获取一次graphql数据 现在我有了文本输入和按钮,但当我获取数据时,我无法在输入中键入其他国家,因为我立即出错 const Tile = () => { const [country, setCountry] = useState('Poland'); const [cases, setCases] = useState(0); const MY_QUERY = gq
const Tile = () => {
const [country, setCountry] = useState('Poland');
const [cases, setCases] = useState(0);
const MY_QUERY = gql`
query getCountryStats($country: String!) {
country(name: $country) {
todayCases
}
}
`;
const [getCountryStats, {data, loading, error}] = useLazyQuery(MY_QUERY, {
variables: {
country: country,
},
onCompleted: (data) => {
setCases(data.country.todayCases);
},
});
if (loading) return <Text>LOADING...</Text>;
if (error) return <Text>Error!</Text>;
return (
<View>
<CasesNumber>{cases}</CasesNumber>
<FinderWrapper>
<FinderInput
onChangeText={(text) => {
setCountry(text);
}}
/>
<FinderButton
onPress={() => {
getCountryStats();
}}>
<Text>FIND</Text>
</FinderButton>
</FinderWrapper>
</View>
);
};
export default Tile;
const Tile=()=>{
const[country,setCountry]=useState(“波兰”);
const[cases,setCases]=useState(0);
const MY_QUERY=gql`
查询getCountryStats($country:String!){
国家(名称:$country){
今天的案例
}
}
`;
const[getCountryStats,{data,loading,error}]=useLazyQuery(MY_QUERY{
变量:{
国家:国家,,
},
未完成:(数据)=>{
设定值(数据。国家。今天的情况);
},
});
如果(装载)返回装载。。。;
如果(错误)返回错误!;
返回(
{案例}
{
国家(文本);
}}
/>
{
getCountryStats();
}}>
发现
);
};
导出默认瓷砖;
尝试使用此
const Tile = () => {
const [country, setCountry] = useState('Poland');
const [cases, setCases] = useState(0);
let inputValue = ‘’;
const MY_QUERY = gql`
query getCountryStats($country: String!) {
country(name: $country) {
todayCases
}
}
`;
const [getCountryStats, {data, loading, error}] = useLazyQuery(MY_QUERY, {
variables: {
country: country,
},
onCompleted: (data) => {
setCases(data.country.todayCases);
},
});
const onGetCountryStats = () => {
setCountry(inputValue);
getCountryStats();
}
if (loading) return <Text>LOADING...</Text>;
if (error) return <Text>Error!</Text>;
return (
<View>
<CasesNumber>{cases}</CasesNumber>
<FinderWrapper>
<FinderInput
onChangeText={(text) => {
inputValue = text;
}}
/>
<FinderButton
onPress={() => {
onGetCountryStats();
}}>
<Text>FIND</Text>
</FinderButton>
</FinderWrapper>
</View>
);
};
export default Tile;
const Tile=()=>{
const[country,setCountry]=useState(“波兰”);
const[cases,setCases]=useState(0);
让inputValue='';
const MY_QUERY=gql`
查询getCountryStats($country:String!){
国家(名称:$country){
今天的案例
}
}
`;
const[getCountryStats,{data,loading,error}]=useLazyQuery(MY_QUERY{
变量:{
国家:国家,,
},
未完成:(数据)=>{
设定值(数据。国家。今天的情况);
},
});
const onGetCountryStats=()=>{
设置国家(输入值);
getCountryStats();
}
如果(装载)返回装载。。。;
如果(错误)返回错误!;
返回(
{案例}
{
输入值=文本;
}}
/>
{
onGetCountryStats();
}}>
发现
);
};
导出默认瓷砖;