Ana içeriğe atla

Provider'ları geçersiz kılma

Riverpod'da tüm provider'lar, davranışlarını değiştirmek için geçersiz kılınabilir. Bu; test etmek, hata ayıklamak, farklı ortamlarda farklı uygulamalar sunmak, hatta Provider'ları kapsamlama için kullanışlıdır.

Bir provider'ı geçersiz kılma işlemi, overrides parametresi kullanılarak ProviderContainers/ProviderScopes üzerinde yapılır. Bu parametrede, belirli bir provider'ın nasıl geçersiz kılınacağına dair bir talimat listesi belirtebilirsiniz.

Böyle bir "talimat", provider'ınız ile overrideWithSomething biçiminde adlandırılan değer metotları birleştirilerek oluşturulur.
Bu metotlardan birçoğu mevcuttur, ancak hepsinin adı overrideWith ile başlar. Bunlar arasında şunlar bulunur:

Tipik bir geçersiz kılma şöyle görünür:

void main() {
runApp(
ProviderScope(
overrides: [
// Geçersiz kılmalarınız burada tanımlanır.
// Aşağıdaki örnek, farklı bir başlangıç değeri kullanmak için
// bir "counter provider"ın nasıl geçersiz kılınacağını gösterir.
counterProvider.overrideWith((ref) => 42),
]
)
);
}