Что такое функция обратного вызова и как я использую ее с ООП

Вы не получите выбранную дату напрямую, она должна быть через цель события

Изменить

handledChange(date) {
    this.setState({
      birthDate: date
    });
  }

на

handledChange(event) {
    this.setState({
      birthDate: event.target.value
    });
  }
12
задан Paul M 23 October 2008 в 20:19
поделиться

3 ответа

Вот основной пример функции обратного вызова:

<?php

function thisFuncTakesACallback($callbackFunc)
{
    echo "I'm going to call $callbackFunc!<br />";
    $callbackFunc();
}

function thisFuncGetsCalled()
{
    echo "I'm a callback function!<br />";
}

thisFuncTakesACallback( 'thisFuncGetsCalled' );
?>

Можно вызвать функцию, которой сохранили ее имя в переменной как это: $variable ().

Так, в вышеупомянутом примере мы передаем название функции thisFuncGetsCalled к thisFuncTakesACallback (), который затем вызывает функцию, переданную в.

25
ответ дан 2 December 2019 в 05:04
поделиться

Функция обратного вызова будет использовать ту функцию на любых данных, возвращается конкретным методом.

Я не уверен, как эта конкретная библиотека работает, но это могло быть что-то столь же простое как:

$html = file_get_html('http://example.com');
$html->set_callback('make_bold');
$html->find('#title'); // returns an array

function make_bold($results) {
// make the first result bold
  return '<b>'.$results[0].'</b>';
}

т.е., функция"make_bold()"будет выполнен на любых найденных данных. Снова, я не уверен, как эта конкретная библиотека работает (т.е., какие методы к функции обратного вызова обратятся),

3
ответ дан 2 December 2019 в 05:04
поделиться

Обратный вызов является или функцией, экземпляр объекта' метод, или статическим методом для класса. Так или иначе это - своего рода указатель функции. На некоторых языках функции являются определенным типом. Таким образом, Вы могли присвоить функцию переменной. Их обычно называют функционально-ориентированными языками. Хорошим примером является JavaScript.

В PHP обратный вызов может быть любым из:

$fn = 'foo'; // => foo()
$fn = array($obj, 'foo'); // => $obj->foo()
$fn = array('Foo', 'bar'); // => Foo::bar()

Посмотрите ручную запись для is_callable.

Можно вызвать обратный вызов с довольно подробной функцией call_user_func.

2
ответ дан 2 December 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: