Ramonda

props-written-by-the-receiver

This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.

Reported when a component or hook assigns to its own props — the write throws in every build, and the value belonged to whoever rendered the element.

The framework reports the same fault while running, as RMD004 and RMD015 — but only once the line actually runs. This is the same fault proved from the source instead.

Props are the parent's. The receiver is handed them fresh on every render, so a write would be replaced the next time the parent rendered even if it were allowed — and it is not: the props bag is a proxy that THROWS on a write, in every build, not only in development.

What the write was probably for, and where it goes instead:

A value this component owns and changes is @state. A value derived from a prop is a @compute, which recomputes when the prop changes instead of being overwritten by the next render. A value the PARENT should change is a callback prop the parent passes down — the child asks, the parent decides, and the new value arrives as a prop.

Mutating something the props point at — this.props.rows.push(…) — is NOT this report, and not because it is fine: it is an object the parent owns, changed behind its back, and no proxy is watching. It simply is not the write this rule can prove.

Next