Another possibility is the fact that the data signal from the esp is 3.3V but the strip expects a 5V data signal. Generally speaking, ws2812 LEDs are ok with a 3.3V signal, but it's not 100% guaranteed to work. You may need to use a level shifter to boost the data signal up to 5V. Don't buy the 4-channel level shifter modules commonly sold on eBay, they are intended for use with i2c bus signals, which are a lower frequency than ws2812 signals and may not work well in my experience. Instead use a 74hc14 or 74hct14 or similar.