fix react key logic