use componentshouldrender to fix infinite loop
add multiple filter fields UI