diff --git a/packages/yew/src/callback.rs b/packages/yew/src/callback.rs
index d904f3783..7d6c7caac 100644
--- a/packages/yew/src/callback.rs
+++ b/packages/yew/src/callback.rs
@@ -9,11 +9,7 @@ use std::fmt;
use std::rc::Rc;
/// Universal callback wrapper.
-///
+///
/// An `Rc` wrapper is used to make it cloneable.
pub struct Callback {
/// A callback which can be called multiple times
diff --git a/packages/yew/src/functional/hooks/use_callback.rs b/packages/yew/src/functional/hooks/use_callback.rs
index 9dce0ad4e..89dc0f1c7 100644
--- a/packages/yew/src/functional/hooks/use_callback.rs
+++ b/packages/yew/src/functional/hooks/use_callback.rs
@@ -3,7 +3,8 @@ use std::rc::Rc;
use crate::callback::Callback;
use crate::functional::{hook, use_memo};
-/// Get a immutable reference to a memoized `Callback`.
+/// Get a immutable reference to a memoized `Callback`. Its state persists across renders.
+/// It will be recreated only if any of the dependencies changes value.
///
/// Memoization means it will only get recreated when provided dependencies update/change.
/// This is useful when passing callbacks to optimized child components that rely on
diff --git a/packages/yew/src/functional/hooks/use_context.rs b/packages/yew/src/functional/hooks/use_context.rs
index 24fb8fcda..a6bf2376e 100644
--- a/packages/yew/src/functional/hooks/use_context.rs
+++ b/packages/yew/src/functional/hooks/use_context.rs
@@ -9,22 +9,57 @@ use crate::functional::{hook, use_component_scope, use_memo, use_state};
/// More information about contexts and how to define and consume them can be found on [Yew Docs](https://yew.rs).
///
/// # Example
-/// ```rust
-/// # use yew::prelude::*;
-/// # use std::rc::Rc;
///
-/// # #[derive(Clone, Debug, PartialEq)]
-/// # struct ThemeContext {
-/// # foreground: String,
-/// # background: String,
-/// # }
-/// #[function_component(ThemedButton)]
-/// pub fn themed_button() -> Html {
-/// let theme = use_context::>().expect("no ctx found");
+/// ```rust
+/// use yew::{ContextProvider, function_component, html, use_context, use_state, Html};
+///
+///
+/// /// App theme
+/// #[derive(Clone, Debug, PartialEq)]
+/// struct Theme {
+/// foreground: String,
+/// background: String,
+/// }
+///
+/// /// Main component
+/// #[function_component]
+/// pub fn App() -> Html {
+/// let ctx = use_state(|| Theme {
+/// foreground: "#000000".to_owned(),
+/// background: "#eeeeee".to_owned(),
+/// });
///
/// html! {
-///