0.0.24 • Published 3 years ago

jsx-logical-operators v0.0.24

Weekly downloads
24
License
MIT
Repository
github
Last release
3 years ago

jsx-logical-operators

This may negatively impact performance for a react app, as it increases the size of the tree that needs to be diffed/rendered by React, and does not truncate the component tree below it in the same way as a ternary would.

That being said, personally I find this kind of declarative logic to be much easier to read in React code than ternaries, or even in many cases separated functions.

If

Simple

<If condition={someCondition}>
  Show me if someCondition is true!
</If>

Complex

<If condition={someCondition}>
  <Then>Show me if someCondition is true!</Then>
  <ElseIf condition={someOtherCondition}>Show me if someCondition is false and someOtherCondition is true!</ElseIf>
  <Else>Show me if neither someCondition nor someOtherCondition are true!</Else>
</If>

Switch

Standard - Value Based

NOTE: Fall-through is not supported at this time.

<Switch on={someValue}>
  <Case when="A">Show me when someValue is A!</Case>
  <Case when="B">Show me when someValue is B!</Case>
  <Default>Show me if the value is not A or B!</Default>
</Switch>

Standard - Value Irrespective

<Switch>
  <Case when={someCondition}>Show me when someCondition is true!</Case>
  <Case when={someOtherCondition}>Show me when someCondition is false and someOtherCondition is true!</Case>
</Switch>

Function Support - Value Based

<Switch on={someValue}>
  <Case when={val => val?.startsWith('A')}>Show me when the value starts with A!</Case>
  <Case when={val => val?.startsWith('B')}>Show me when the value starts with B!</Case>
</Switch>

Function Support - Value Irrespective

<Switch>
  <Case when={() => someCondition}>Show me when someCondition is true!</Case>
</Switch>
0.0.24

3 years ago

0.0.23

4 years ago

0.0.21

5 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.15

5 years ago

0.0.16

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.11

5 years ago

0.0.12

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.3

5 years ago

0.0.5

5 years ago

0.0.6

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago