Skip to content

No Useless Use Spring

Suggestion
small-rules/no-useless-use-spring

Disallow useSpring hooks whose config and dependencies are entirely static

Diagnostic Messages

uselessSpring
useSpring call has only static inputs and non-updating dependencies; replace it with a constant or remove the hook.

Configuration

This rule accepts one options object after the severity.

springHooksOptional

Hook identifiers that should be treated as spring hooks

staticGlobalFactoriesOptional

Global factory identifiers that are treated as static constructors

treatEmptyDepsAsViolationOptional

Treat static config with an empty dependency array as a violation

{
"jsPlugins": [
"@pobammer-ts/small-rules"
],
"rules": {
"small-rules/no-useless-use-spring": [
"error",
{
"springHooks": [
"useSpring"
],
"staticGlobalFactories": [
"Axes",
"BrickColor",
"CFrame",
"Color3",
"ColorSequence",
"ColorSequenceKeypoint",
"DateTime",
"Enum",
"Faces",
"NumberRange",
"NumberSequence",
"NumberSequenceKeypoint",
"PathWaypoint",
"PhysicalProperties",
"Ray",
"Rect",
"Region3",
"Region3int16",
"TweenInfo",
"UDim",
"UDim2",
"Vector2",
"Vector3",
"Vector3int16",
"Vector3int32"
],
"treatEmptyDepsAsViolation": true
}
]
}
}

Examples

Spring with only initial value
const springs = useSpring({
from: { x: 0 },
});
Spring with mount animation
const springs = useSpring({
from: { x: 0 },
to: { x: 1 },
});