Я пытаюсь передать обработчик кликов через реквизиты из этого класса
class App extends Component {
handleToggle = (todo:any) => () => {
// update todo
console.log("I WORK!");
};
render() {
return (
<div className="App">
<Todos onTodoClick={this.handleToggle}/>
</div>
);
}
}
этой функции, которая содержит Query
:
function Todos(props: any) {
return (
<Query query={GET_TODOS}>
{({ loading, error, data }) => {
if (loading) return "Loading...";
if (error) return `Error! ${error.message}`;
return (
<div>
<List>
{data.todos.map((todo: any) => (
<ListItem
key={todo.id}
onClick={() => props.onTodoClick(todo)} // HERE
>
<ListItemText primary={todo.text} />
</ListItem>
))}
</List>
</div>
);
}}
</Query>
);
}
Но, независимо от того, делаю я Todo
функцию или просто const, этот обработчик щелчка реквизита никогда не вызывается.Я надеюсь увидеть "Я РАБОТАЮ!"в консоли, но этого не происходит.Любые идеи, как передать обработчик щелчка через реквизит, когда принимающая функция содержит запрос Apollo?