In React, falsy values (false
, null
, undefined
, 0
, NaN
, ""
) are not rendered when used inside JSX. If you directly try to display a false
value inside JSX, React skips it instead of rendering anything.
Example: Falsy values don’t render
const Example = () => { return <div>{false}</div>; // Nothing will be displayed };
1. Using String Conversion (String()
or .toString()
)
To explicitly print false
, convert it to a string.
Example: Using String()
const Example = () => { return <div>{String(false)}</div>; // Prints: false };
Example: Using .toString()
const Example = () => { return <div>{false.toString()}</div>; // Prints: false };
Best for explicitly showing true
or false
.
2. Using Conditional Rendering (JSON.stringify()
)
JSON.stringify()
converts false
, null
, and undefined
into printable strings.
Example: Using JSON.stringify()
const Example = () => { return <div>{JSON.stringify(false)}</div>; // Prints: false };
Best when dealing with complex data types (e.g., objects, arrays).
3. Using a Ternary Operator
You can use a ternary operator to explicitly render "false"
as a string.
Example: Rendering false
as text
const Example = () => { return <div>{false ? "true" : "false"}</div>; // Prints: false };
Best when rendering conditions dynamically.
4. Using Template Literals
Wrap the false
value inside a template literal (backticks “ `).
Example: Using a Template Literal
const Example = () => { return <div>{`${false}`}</div>; // Prints: false };
Simple and effective solution.
5. Using a Wrapper Function
If you frequently need to display boolean values, create a helper function.
Example: Boolean Rendering Helper
const renderBoolean = (value) => (value === false ? "false" : value); const Example = () => { return <div>{renderBoolean(false)}</div>; // Prints: false };
Best for reusable logic.
Conclusion
Method | Code Example | Output |
String(false) | {String(false)} | false |
false.toString() | {false.toString()} | false |
JSON.stringify(false) | {JSON.stringify(false)} | false |
Ternary Operator | {false ? "true" : "false"} | false |
Template Literals | {${false}} | false |
Wrapper Function | {renderBoolean(false)} | false |