Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

Commit ce1ead2

Browse files
committed
allow explicit args=None in use_effect
1 parent 0557e1b commit ce1ead2

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

flake8_idom_hooks/exhaustive_deps.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,15 @@ def _get_dependency_names_from_expression(
140140
),
141141
)
142142
return dep_names
143-
else:
143+
elif not (
144+
isinstance(dependency_expr, ast.Constant) and dependency_expr.value is None
145+
):
144146
self._save_error(
145147
202,
146148
dependency_expr,
147149
(
148-
f"dependency args of {hook_name!r} should be a literal list or "
149-
f"tuple - not expression type {type(dependency_expr).__name__!r}"
150+
f"dependency args of {hook_name!r} should be a literal list, tuple, "
151+
f"or None - not expression type {type(dependency_expr).__name__!r}"
150152
),
151153
)
152154
return None

tests/hook_usage_test_cases.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,15 @@ def impropper_usage_of_effect_as_decorator():
200200

201201
use_effect(
202202
lambda: None,
203-
# error: ROH202 dependency args of 'use_effect' should be a literal list or tuple - not expression type 'Name'
203+
# error: ROH202 dependency args of 'use_effect' should be a literal list, tuple, or None - not expression type 'Name'
204204
not_a_list_or_tuple,
205205
)
206206

207+
use_effect(
208+
lambda: None,
209+
args=None, # Ok, to explicitely set None
210+
)
211+
207212

208213
def make_component():
209214
# nested component definitions are ok.

0 commit comments

Comments
 (0)