我只是想把一个状态用在axios请求中(功能组件),但是不行。
const [title, setTitle] = useState('');
const updateTitle = title => {
setTitle(title);
};
console.log(title); // comes from an input and work prefectly
我用一个按钮接受输入
<Button title="Search" onPress={() => searchBook(title)} />
功能
const searchBook = ({title}) => {
let key = '&key=MYKEY';
googlebooks
.request({
method: 'get',
url:
'https://www.googleapis.com/books/v1/volumes?q=' +
title + // always undefined
key,
})
.then(function(response) {
console.log(response);
setBookResults(response.data.items);
})
.catch(function(error) {
console.log(error);
});
};
我没有得到任何结果,但 title
始终是未定义的。为什么呢?
看来你的searchBook声明是错误的。它在等待一个对象,但是你用一个非对象变量来使用它。
const searchBook = title => {...}
应该是这样的