Слишком мало аргументов для функции Livewire\LivewireManager::mount(), передано 0

Заранее благодарим за полезный совет. Я использую Laravel Livewire для создания компонентов и Jetstrap для аутентификации для тех маршрутов, которые этого требуют.

На данный момент у меня настроен только один маршрут для проверки аутентификации, но после входа в систему для просмотра этого маршрута я получаю следующую ошибку:

Too few arguments to function Livewire\LivewireManager::mount(), 0 passed in /var/www/mvp/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 261 and at least 1 expected

Похоже, это происходит из класса LivewireManager внутри функции getInstance():

public function getInstance($component, $id)
    {
        $componentClass = $this->getClass($component);

        throw_unless(class_exists($componentClass), new ComponentNotFoundException(
            "Component [{$component}] class not found: [{$componentClass}]"
        ));

        return new $componentClass($id);
    }

Кажется, ожидается компонентный аргумент от класса Facade в /vendor/laravel/framework/src/Illuminate/Support/Facades/, но не получает нужный компонент. Я проверил код страницы, и определенно там есть компонент.

Функция Фасад, создающая ошибку:

/**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array  $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();

        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
        
        return $instance->$method(...$args);
    }

И страница, которая должна загружать свой компонент:

@extends('layouts.app')
@section('content')
@livewire('component')
@stop

Есть простой способ решить проблему? Или я что-то упускаю?

2 ответа

У меня такая же ошибка, как у вас, когда я пытаюсь передать параметр, а затем я решаю проблему, следуя документации, изменяя способ визуализации компонента livewire с помощью директивы blade @livewire() в <livewire: >

Если это кому-то поможет, причиной этой ошибки для меня было отсутствие одной из двух круглых скобок в конце:

              @livewire('component', [
            'currentValue' => $review->body,
            'field' => 'body', 
            'fresh' => $fresh,
            'label' => null,
            'model' => $review
        ], key($review->object_id.'_body'))
Другие вопросы по тегам