обратите внимание, что setState не синхронизируется сам по себе, вы должны проверить обновленное состояние в его обратном вызове:
getAll = async () => {
const { contract } = this.state;
const response = await contract.methods.getBooks().call();
this.setState({ bookDetails: response}, () => console.log("books: ",this.state.bookDetails[0][0]);
);};
Кроме этого, фрагмента недостаточно, чтобы проверить, почему вы не можете использовать функцию асинхронной передачи в другом направлении.войти правильно.Пожалуйста, предоставьте более полный фрагмент.